我是Bitbucket Pipelines的新手,所以我正在努力尝试在构建上运行我的Angular 2应用程序的Protractor E2E测试 . 我的bitbucket-pipelines.yml看起来像这样
image: adrianmarinica/bitbucket-pipelines-protractor
pipelines:
default:
- step:
caches:
- node
script: # Modify the commands below to build your repository.
- npm install
- protractor protractor.conf.js
当安装所有依赖项并且量角器开始运行时,我会收到此错误
如何在我的本地机器上成功运行测试?
3 回答
为了对bitbucket管道进行e2e测试,我要对bitbucket-pipelines.yml,package.json和protractor.conf.js进行一些更改 .
首先, bitbucket-pipelines.yml 看起来像这样 . 我们使用了adrianmarinica提供的docker镜像而不是默认的节点镜像 .
然后, package.json 看起来像这样
这里的关键变化是start命令中的“&” . 这将在后台运行ng,允许量角器命令被触发 .
最后,对 protractor.conf.js 进行了一些调整
如果您的测试在本地成功运行,它们也应该在管道中,根据此配置,环境应该是相同的 .
这只是我的例子:(非AngularJS App)
内部来源:test_specs.js,conf.js,bitbucket.pipeline.yml
资料来源:( Bitbucket)test_spec.js
默认情况下,Protractor等待角度变量出现在网页中 . 它等待默认时间为十秒,然后超时 . 如果您的应用程序不是角度应用程序,您可以通过设置将其关闭
在
describe
块中,在it
部分之前 .PS - 如果上述方法不起作用,请在
describe
块之前的第一个describe
块中尝试browser.ignoreSynchronization = true;
,这将使Protractor不等待Angular的承诺 .