我已经建立了一个硒网格中心和节点。在我的 java 中,我像这样设置我的能力:
Login.capability = DesiredCapabilities.chrome();
Login.capability.setVersion("55.0.2");
Login.capability.setBrowserName("chrome");
Login.capability.setPlatform(org.openqa.selenium.Platform.WINDOWS);
Login.driver = new RemoteWebDriver(new URL("http://xxx.xxx.xxx.xxx/wd/hub"), Login.capability);
当我开始构建时,我收到以下错误消息:
Unable to create new remote session. desired capabilities = Capabilities [{browserName=chrome, version=55.0.2, platform=WINDOWS}], required capabilities = Capabilities [{}]
集线器输出:
selenium grid no capabilities found in request
节点输出是这样说的:
16:23:13.323 INFO [ActiveSessionFactory.apply] - Capabilities are: {
"browserName": "chrome",
"goog:chromeOptions": {
},
"platform": "WINDOWS",
"version": "55.0.2"
}
16:23:13.324 INFO [ActiveSessionFactory.lambda$apply$11] - Matched factory org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
Starting ChromeDriver 2.42.591088 (7b2b2dca23cca0862f674758c9a3933e685c27d5) on port XXXXXXXXX
Only local connections are allowed.
因此,节点似乎工作正常,但为什么集线器说日志中没有功能?
此错误消息...
Unable to create new remote session. desired capabilities = Capabilities [{browserName=chrome, version=55.0.2, platform=WINDOWS}], required capabilities = Capabilities [{}]
。暗示ChromeDriver无法启动/生成新的WebBrowser,即Chrome浏览器会话。
根据您的代码试用版,您已将Chrome 浏览器版本设置为55.0.2。因此,您需要确保Selenium Node客户端安装了Chrome浏览器v55.0.2。
从另一个角度来看:
- 您正在使用ChromeDriver 2.42
- ChromeDriver 2.42的发行说明明确提到了以下内容:
支持铬 v68-70
因此,ChromeDriver v2.42和Chrome浏览器v55.0.2之间存在明显的不匹配
。溶液
作为解决方案,您需要:
- 保持JDK升级到最新级别JDK 8u181。
- 保持硒升级到当前级别版本 3.14.0。
- 将ChromeDriver升级到当前的ChromeDriver v2.42级别。
- 将 Chrome版本保持在 Chrome v68-70级别之间。(根据ChromeDriver v2.42发行说明(