我的团队和我有一套122个量角器测试。茉莉花测试很简单
使用量角器5.4,茉莉花3.3和类型脚本3.1编写测试,并使用nodeJs 10.5.3,npm 6.9.0执行测试。 我们的测试针对远程开发服务器。
在测试通过的本地和远程计算机上运行以下命令。
git clone ...
cd repo-name
npm install
npm run e2e:dev
测试使用无头铬浏览器进行。这是e2e配置
exports.config = {
specs: [
'./src/**/*.e2e-spec.ts'
],
capabilities: {
'browserName': 'chrome',
chromeOptions: {
args: [
'headless',
'disable-gpu',
'window-size=1024,1536',
'disable-browser-side-navigation',
'disable-web-security'
],
useAutomationExtension: false,
prefs: {
'download': {
'prompt_for_download': false,
'directory_upgrade': true,
'default_directory': path.resolve("./target/downloads")
}
}
}
},
directConnect: true,
baseUrl: '[internal server url]',
framework: 'jasmine',
jasmineNodeOpts: {
showColors: true
},
onPrepare() {
rmDir(path.resolve("./target/downloads"));
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.e2e.json')
});
var environment = jasmine.getEnv();
environment.addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
environment.addReporter(new jasmineReporters.JUnitXmlReporter({
savePath: 'target/junitreporter',
consolidateAll: true,
captureStdout: true
})
);
}
};
Jenkins使用具有本地管理员特权的域帐户作为Windows服务运行。在3月12日之前,该工作已成功在每周晚上10点成功运行。从3月12日开始,这项工作失败了,因为30-40次测试引发了茉莉花超时。
31m Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL
我们尝试增加默认超时时间,但这不能解决问题。
我们正在Java 1.8上运行Jenkins 2.169。我已经排除了RAM,AV和项目配置文件。看起来Jenkins 2.169 Windows批处理命令确实是罪魁祸首,我不确定如何解决此问题。
我们还尝试使用Jenkins的git bash的shell运行命令,并得到相同的结果。
是否还有其他人遇到类似问题,您是否能够解决?