因此,无论何时运行我的conf.js文件,WebDriver实例都会启动,但随后会超时:(。(见附图)
结果是无法访问Chrome。
我的环境是这样设置的:
CHROMEDRIVER 2.26
硒 - 服务器 - 独立-2.53.1
selenium-webdriver@3.0.1
CHROME浏览器安装55
量角器5.0.0
这是我的conf.js文件
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub/',
specs: ['./reporting/example.js'],
capabilities: {
'browserName': 'chrome',
chromeOnly:true ,
directConnect: true,
'chromeOptions': {'args': ['show-fps-counter=true']}
},
onPrepare: function(){
browser.driver.manage().window().setPosition(0.0);
browser.driver.manage().window().setSize(1280.720);
}
}
答案 0 :(得分:1)
尝试使用更简单的量角器:
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub/',
specs: ['./reporting/example.js'],
capabilities: { 'browserName': 'chrome' },
onPrepare: function() {
browser.driver.manage().window().setPosition(0.0);
browser.driver.manage().window().setSize(1280.720);
}
}
你原来的conf中有directConnect: true
在错误的地方,这可能会导致问题。该选项意味着量角器绕过selenium服务器,并直接连接到Chrome。如果您希望这样做,请使用此conf文件:
exports.config = {
directConnect: true,
specs: ['./reporting/example.js'],
capabilities: { 'browserName': 'chrome' },
onPrepare: function() {
browser.driver.manage().window().setPosition(0.0);
browser.driver.manage().window().setSize(1280.720);
}
}
答案 1 :(得分:0)
是的,同意directConnect:您的conf文件中的true位置错误。它不应包含在功能标记内。它应该放在下面的文件中。
var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
var log4js = require('log4js');
exports.config = {
//seleniumAddress: 'http://localhost:4444/wd/hub',
directConnect: true,
allScriptsTimeout: 11000,
framework: 'jasmine2',
onPrepare: function () {
browser.manage().timeouts().implicitlyWait(11000);
var width = 768;
var height = 1366;
browser.driver.manage().window().setSize(768, 1366);
//browser.ignoreSynchronization = true
jasmine.getEnv().addReporter(
new Jasmine2HtmlReporter({
savePath: __dirname+'/reports/results/e2e',
takeScreenshots: false,
filePrefix: 'report',
consolidate: true,
cleanDestination: false,
consolidateAll: true
})
);
},
suites:{
smoke:['./test/e2e/Login/**/*Spec.js']
},
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
'args': []//
}
},
appenders: [
{
"type": "file",
"filename": "./e2eTestLogs/logfile.log",
"maxLogSize": 20480,
"backups": 3,
"category": "relative-logger"
}
],
resultJsonOutputFile:'./results.txt',
// Options to be passed to Jasmine-node.
jasmineNodeOpts: {
showColors: true,
defaultTimeoutInterval: 510000
}
};