无法在硒网格节点上使用无头镶边执行量角器测试



我正在使用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清理项目工作中心,并仅使用所需的依赖项重新生成项目。

相关内容

  • 没有找到相关文章

最新更新