我创建了一个Jenkins工作,在午夜运行Protractor测试。 对于无头测试,我使用PhantomJS浏览器,因为我无法安装Xvfb(没有权利)。
我通过Grunt任务运行Protractor测试。 在我的本地机器(Windows)上,grunt工作正常,测试通过。
在服务器上,我正在
失败:等待页面加载10000毫秒
...
失败:等待量角器与页面同步时出错:" window.angular未定义。这可能是因为这是一个非角度页面,或者因为您的测试涉及客户端导航,这可能会干扰Protractor的自举。有关详情,请参阅http://git.io/v4gXM"
我的量角器-headless.conf:
exports.config = {
directConnect: false,
capabilities: {
browserName: 'phantomjs',
'phantomjs.binary.path': require('phantomjs').path,
'phantomjs.cli.args': []
},
seleniumServerJar: require('selenium-server-standalone-jar').path,
framework: 'jasmine2',
specs: [
'./e2e/**/**.spec.js'
],
allScriptsTimeout: 30000,
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 200000,
isVerbose: true//,
//includeStackTrace : false
},
onPrepare: function() {
'use strict';
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: true,
savePath: 'test-results',
filePrefix: 'xmloutput'
}));
}
};
Grunt Job:
protractor: {
options: {
configFile: 'src/test/javascript/protractor.conf.js',
keepAlive: true,
noColor: false,
verbose: true,
args: {
// Arguments passed to the command
}
},
headless: {
options: {
keepAlive: false,
configFile: 'src/test/javascript/protractor-headless.conf.js'
}
}
}
...
grunt.registerTask('e2e-test-headless', [
'protractor:headless'
]);
测试可以访问测试环境。 知道可能是什么问题吗?