我试图通过CircleCI在我的项目中使用Protractor进行E2E测试。
启动我的服务器需要很长时间(大约2分钟),我在测试时遇到以下错误(当服务器未启动时在本地显示):
circle.yml
这是我的machine:
node:
version: 5.11.0
dependencies:
post:
- npm run serve-dist: # starts the server
background: true
- sleep 150 # wait for the server to start
test:
pre:
- npm install -g protractor
- webdriver-manager update
- webdriver-manager start:
background: true
:
npm test
然后我运行protractor conf.js
,其中包含命令def removeElement(self, A, elem):
# write your code here
if A == []:
return A
if elem in A:
sortedA = sorted(A)
li = []
for i in xrange(len(sortedA)):
if sortedA[i] == elem:
li += [i]
newLength = sortedA[:min(li)] + sortedA[max(li)+1:]
return newLength
else:
return A
我想弄清楚等待服务器在CircleCI上启动的更好方法。有人能告诉我我做错了吗?
答案 0 :(得分:1)
事实证明,我的项目设置中还有一些其他步骤我不知道......特别是,我需要在machine:
hosts:
test.blah.dev: 127.0.0.1
environment:
MONGOLAB_URL: mongodb://localhost/testdatabase
文件中添加名称,并将一些环境变量添加到我的mongo实例,如下:
background: true
所以等待服务器启动并不是问题(使用sleep
而np.vectorize
应该负责等待。