【问题标题】:CircleCI Protractor wait for server to startCircleCI Protractor 等待服务器启动
【发布时间】:2016-07-10 00:41:05
【问题描述】:

我正在尝试通过 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 上启动。谁能告诉我我做错了什么?

【问题讨论】:

  • 我想你可能会在this great answer 中找到一些有用的东西。
  • @alecxe 我认为background: true 确保进程在CircleCI 的后台运行(它代替了&)......我仍然不明白我在哪里'我错了。

标签: angularjs protractor circleci


【解决方案1】:

所以事实证明,在我的项目设置中还有一些其他步骤我遗漏了......特别是,我需要将名称添加到 /etc/hosts 文件,以及一些环境变量以连接到我的 mongo例如,像这样:

machine:
  hosts:
    test.blah.dev: 127.0.0.1
  environment:
    MONGOLAB_URL: mongodb://localhost/testdatabase

所以等待服务器启动不是问题(使用background: truesleep 应该会处理等待)。

【讨论】:

    猜你喜欢
    • 2021-04-21
    • 1970-01-01
    • 2015-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    相关资源
    最近更新 更多