当使用 Protractor 驱动程序使用 CodeceptJS 运行我的测试时,测试成功运行但进程没有退出,所以我每次都必须强制停止它,而且我也无法在我的 CI 服务器上运行它们,否则它总是会超时。我的codecept.conf.js
:
const conf = require('../config/config');
exports.config = {
tests: './e2e/**/*.spec.js',
output: './e2e/reports',
helpers: {
Protractor: protractor.config,
ProtractorHelper: {
require: './e2e/protractor.helper.js'
}
},
name: 'test',
timeout: 10000,
bootstrap: './e2e/before-launch.js',
mocha: {
reporterOptions: {
reportDir: './reports'
}
}
};
我的protractor.conf.js
:
const conf = require('../config/config');
exports.config = {
scriptsTimeout: 11000,
browser: 'chrome',
capabilities: {
chromeOptions: {
args: process.env.CI ? [
'--no-sandbox',
// See https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md
'--headless',
'--disable-gpu',
// Without a remote debugging port, Google Chrome exits immediately.
'--remote-debugging-port=9222',
'--disable-web-security'
] : []
}
},
directConnect: true,
url: conf.e2e.baseUrl,
noGlobals: true,
rootElement: 'body'
};
而before-launch.js
这基本上只是为网站提供服务:
const conf = require('../config/config');
require('connect')().use(require('serve-static')(conf.e2e.paths.build)).listen(conf.e2e.servePort);
我在用:
- CodeceptJS 版本:1.4.1
- NodeJS 版本:10.1.0
- 量角器版本:5.4.0