Mar*_*BVI 5 bitbucket protractor bitbucket-pipelines
我是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
Run Code Online (Sandbox Code Playgroud)
当安装所有依赖项并且量角器开始运行时,我会收到此错误
如何在我的本地机器上成功运行测试?
为了对bitbucket管道进行e2e测试,我要对bitbucket-pipelines.yml,package.json和protractor.conf.js进行一些更改.
首先,bitbucket-pipelines.yml看起来像这样.我们使用了adrianmarinica提供的docker镜像而不是默认的节点镜像.
# You can specify a custom docker image from Docker Hub as your build environment.
image: adrianmarinica/bitbucket-pipelines-protractor
pipelines:
branches:
master:
- step:
caches:
- node
script:
- npm install
- npm start
- protractor protractor.conf.js
Run Code Online (Sandbox Code Playgroud)
然后,package.json看起来像这样
"scripts": {
...
"start": "ng serve &"
...
}
Run Code Online (Sandbox Code Playgroud)
这里的关键变化是start命令中的"&".这将在后台运行ng,允许量角器命令被触发.
最后,对protractor.conf.js进行了一些调整
const { SpecReporter } = require('jasmine-spec-reporter');
exports.config = {
allScriptsTimeout: 1800000,
specs: [
'./e2e/**/*.e2e-spec.ts'
],
getPageTimeout: 120000,
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': [
'--no-sandbox',
'--disable-gpu'
]
}
},
useAllAngular2AppRoots: true,
directConnect: true,
baseUrl: 'http://localhost:4200/',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 120000,
print: function () { }
},
beforeLaunch: function () {
require('ts-node').register({
project: 'e2e/tsconfig.e2e.json'
});
},
onPrepare() {
jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
}
};
Run Code Online (Sandbox Code Playgroud)
如果您的测试在本地成功运行,它们也应该在管道中,根据此配置,环境应该是相同的.
| 归档时间: |
|
| 查看次数: |
1866 次 |
| 最近记录: |