CircleCI Protractor 等待服务器启动
CircleCI Protractor wait for server to start
我正在尝试通过 CircleCI 在我的项目中使用 Protractor 进行 E2E 测试。
启动我的服务器需要很长时间(大约 2 分钟),并且我在测试中遇到以下错误(当服务器尚未启动时在本地显示):
Failed: Angular could not be found on the page http://test.blah.dev:3000/auth/login : retries looking for angular exceeded
这是我的 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
我想找出一个更好的方法来等待服务器在 CircleCI 上启动。谁能告诉我我做错了什么?
所以事实证明,在我的项目设置中还有一些我遗漏的其他步骤......特别是,我需要将名称添加到 /etc/hosts
文件,以及一些环境变量到连接到我的 mongo 实例,像这样:
machine:
hosts:
test.blah.dev: 127.0.0.1
environment:
MONGOLAB_URL: mongodb://localhost/testdatabase
所以等待服务器启动不是问题(使用 background: true
和 sleep
应该会处理等待)。
我正在尝试通过 CircleCI 在我的项目中使用 Protractor 进行 E2E 测试。
启动我的服务器需要很长时间(大约 2 分钟),并且我在测试中遇到以下错误(当服务器尚未启动时在本地显示):
Failed: Angular could not be found on the page http://test.blah.dev:3000/auth/login : retries looking for angular exceeded
这是我的 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
我想找出一个更好的方法来等待服务器在 CircleCI 上启动。谁能告诉我我做错了什么?
所以事实证明,在我的项目设置中还有一些我遗漏的其他步骤......特别是,我需要将名称添加到 /etc/hosts
文件,以及一些环境变量到连接到我的 mongo 实例,像这样:
machine:
hosts:
test.blah.dev: 127.0.0.1
environment:
MONGOLAB_URL: mongodb://localhost/testdatabase
所以等待服务器启动不是问题(使用 background: true
和 sleep
应该会处理等待)。