我正在使用Selenium服务器3.8.1,带有集线器和2个节点。 集线器和每个节点在不同的计算机上执行。
目前,我可以启动测试,它们工作正常。但是,我无法使无头模式运行。
我的配置 JSON 仅包含功能对象。
{
"capabilities":
[{
"browserName": "chrome",
"maxInstances": 3,
"seleniumProtocol": "WebDriver",
"chromeOptions": {
"args": [
"--headless",
"--disable-gpu",
"--window-size=1920x1080"]
}}]
}
我使用包含以下命令的.bat启动硒节点:
"C:Program FilesJavajre1.8.0_181binjava" -jar C:jobsselenium-nodeselenium-server-standalone-3.8.1.jar -role node -hub http://172.16.0.5:5555/grid/register -port 5558 -nodeConfig config.json -maxSession 3
硒节点工作正常,并显示在硒网格 UI 上。此外,chrome 驱动程序的功能包括 --无头和其他参数:
....
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}
....
在量角器.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 驱动程序不会在无头模式下执行。工作正常,但不同的窗口不断出现。
环境详情:
- Chrome驱动程序版本:
2.36.540470
- 铬版本:
69.0.3497.100
根据您的问题/评论更新,您正在使用:
chromedriver版本:"2.36.540470,chrome 版本" => '69.0.3497.100'
您的主要问题是您使用的二进制文件版本之间的不兼容,如下所示:
- 您正在使用的 chromedriver=2.36
- chromedriver=2.36的发行说明明确提到了以下内容:
支持铬 v63-65
- 您正在使用的 chrome=69.0
- ChromeDriver v2.42的发行说明明确提到了以下内容:
支持铬 v68-70
因此,ChromeDriver v2.36和Chrome浏览器v69.0之间存在明显的不匹配
。溶液
- 将硒升级到当前级别版本 3.14.0。
- 将ChromeDriver升级到当前的ChromeDriver v2.42级别。
- 将 Chrome版本保持在 Chrome v68-70级别之间。(根据ChromeDriver v2.42发行说明(
- 通过IDE清理项目工作中心,并仅使用所需的依赖项重新生成项目。