我正在使用带有中心和2个节点的Selenium服务器3.8.1。 集线器和每个节点都在不同的机器上执行。
当前,我可以启动测试,并且它们工作正常。但是,我无法使无头模式运行。
我的配置JSON仅包含功能对象。
{
"capabilities":
[{
"browserName": "chrome",
"maxInstances": 3,
"seleniumProtocol": "WebDriver",
"chromeOptions": {
"args": [
"--headless",
"--disable-gpu",
"--window-size=1920x1080"]
}}]
}
我使用包含以下命令的.bat启动硒节点:
"C:\Program Files\Java\jre1.8.0_181\bin\java" -jar C:\jobs\selenium-node\selenium-server-standalone-3.8.1.jar -role node -hub http://172.16.0.5:5555/grid/register -port 5558 -nodeConfig config.json -maxSession 3
Selenium节点工作正常,并显示在Selenium网格UI上。 chrome驱动程序的功能还包括--headless和其他参数:
....
capabilities: Capabilities {browserName: chrome, chromeOptions: {args: [--headless, --disable-gpu, --window-size=1920x1080]}, maxInstances: 3, platform: XP, se:CONFIG_UUID: cdc21610-4c47-4d23-9478-a20..., seleniumProtocol: WebDriver}
....
在protractor.conf文件中,我具有这些功能,这些功能在我在本地运行测试时有效。
seleniumAddress:'http://172.16.0.5:5555/wd/hub',
getPageTimeout: 120000,
allScriptsTimeout: 120000,
ignoreUncaughtExceptions: true,
chromeOnly:true,
directConnect: false,
framework: 'custom',
frameworkPath: require.resolve('protractor-cucumber-framework'),
capabilities: {
"javascriptEnabled": true,
"acceptSslCerts": true,
"browserName": "chrome",
"chromeOptions": {
"args": [ "--headless", "--disable-gpu", "--window-size=1920,1080"]
}
},
但是,当我启动测试时,chrome驱动程序不是在无头模式下执行的。工作正常,但不同的窗口不断出现。
环境详细信息:
2.36.540470
69.0.3497.100
答案 0 :(得分:0)
根据您正在使用的问题/评论更新:
chromedriverVersion:'2.36.540470,chrome version'=> '69 .0.3497.100'
您的主要问题是所使用的二进制版本之间的不兼容性:
支持 Chrome v63-65
支持 Chrome v68-70
因此 ChromeDriver v2.36 与 Chrome浏览器v69.0
之间存在明显的不匹配