SessionNotCreatedException:无法通过Java使用SeleniumGrid和GeckoDriver Firefox找到一组匹配的功能

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SessionNotCreatedException:无法通过Java使用SeleniumGrid和GeckoDriver Firefox找到一组匹配的功能相关的知识,希望对你有一定的参考价值。

我编写的代码下面是在selenium独立网格环境下打开www.google.com。在执行期间它显示错误

组态:

  • 操作系统:WINDOWS 10
  • 浏览器:FireFox(66.0.3)
  • Selenium独立命令: java -Dwebdriver.gecko.driver=C:eClipsejarSeleniumgeckodrivergeckodriver.exe -jar selenium-server-standalone-3.141.59.jar -role standalone

错误:

Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to find a matching set of capabilities
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
System info: host: 'QAT2', ip: '10.1.6.79', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_91'
Driver info: driver.version: unknown

我试图谷歌这个例外,但没有找到解决它的任何线索。我能解决这个问题吗?

码:

public class GridSetup {

private String baseUrl ;
private String nodeURL ;
public WebDriver wDriver ; 

public static void main() throws MalformedURLException{
baseUrl = "http://www.google.com";
nodeURL = "http://localhost:4444/wd/hub";    
System.setProperty("webdriver.gecko.driver","C:\eClipse    \geckodriver.exe");
DesiredCapabilities caps = DesiredCapabilities.firefox();       
System.out.println( "#####################");
caps.setBrowserName("firefox");
caps.setCapability("marioneete", true);
caps.setPlatform(Platform.WIN10);
caps.setVersion("66.0.3");

wDriver = new RemoteWebDriver(new URL(nodeURL), caps);
wDriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
wDriver.get(baseUrl);
} 

}
答案

此错误消息...

Exception in thread "main" org.openqa.selenium.SessionNotCreatedException: Unable to find a matching set of capabilities 
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53' 
System info: host: 'QAT2', ip: '10.1.6.79', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_91' 
Driver info: driver.version: unknown

...暗示GeckoDriver无法启动/生成新的WebBrowsing会话,即Firefox浏览器会话。

您的主要问题是您使用的二进制文件版本之间的不兼容性如下:

  • 您的Selenium客户端版本是3.141.59。
  • 你的JDK版本是1.8.0_91,这很古老。

因此,JDK v8u91,Selenium Client v3.141.59之间存在明显的不匹配。


将JDK升级到最近的级别JDK 8u202

以上是关于SessionNotCreatedException:无法通过Java使用SeleniumGrid和GeckoDriver Firefox找到一组匹配的功能的主要内容,如果未能解决你的问题,请参考以下文章