Java SessionNotCreatedException:无法创建新服务:GeckoDriverService
我正在使用:Java SessionNotCreatedException:无法创建新服务:GeckoDriverService,java,linux,selenium,Java,Linux,Selenium,我正在使用: Java 1.8 硒3.5.0 Selenium独立服务器3.5.0 selenium hub的操作系统-RHEL 7 壁虎河18 火狐55 我有一个错误: org.openqa.selenium.SessionNotCreatedException: Unable to create new service: GeckoDriverService Build info: version: '3.5.0', revision: '8def36e068', tim
- Java 1.8
- 硒3.5.0
- Selenium独立服务器3.5.0
- selenium hub的操作系统-RHEL 7
- 壁虎河18
- 火狐55
org.openqa.selenium.SessionNotCreatedException: Unable to create new service: GeckoDriverService
Build info: version: '3.5.0', revision: '8def36e068', time: '2017-08-10T23:00:22.093Z'
System info: host: 'NC9128105064', ip: '9.128.105.64', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-327.el7.x86_64', java.version: '1.8.0_91'
Driver info: driver.version: unknown
Command duration or timeout: 16 milliseconds
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:215)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:167)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$24(ProtocolHandshake.java:360)
at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
at java.util.Spliterators$ArraySpliterator.tryAdvance(Unknown Source)
at java.util.stream.ReferencePipeline.forEachWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyIntoWithCancel(Unknown Source)
at java.util.stream.AbstractPipeline.copyInto(Unknown Source)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
at java.util.stream.FindOps$FindOp.evaluateSequential(Unknown Source)
at java.util.stream.AbstractPipeline.evaluate(Unknown Source)
at java.util.stream.ReferencePipeline.findFirst(Unknown Source)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:363)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:137)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:142)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:641)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:254)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:236)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:137)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:174)
at Utils.BrowserDriver.ff(BrowserDriver.java:66)
at TestCases.Category.LogInCreateCategory.logIn(LogInCreateCategory.java:29)
at TestCases.TestRunner.main(TestRunner.java:82)
我认为Linux上通往geckodriver的路径有问题。我尝试了以下几种选择:
/drivers/geckodriver
drivers/geckodriver
root/drivers/geckodriver
但没有成功
pwd
给了我:/root/drivers
请将geckodriver更新至最新版本
File firefoxfile = new File(PropertyReader.getProperty("C://users//geckodriver.exe"));
System.setProperty("webdriver.gecko.driver", firefoxfile.getPath());
请将geckodriver更新至最新版本
File firefoxfile = new File(PropertyReader.getProperty("C://users//geckodriver.exe"));
System.setProperty("webdriver.gecko.driver", firefoxfile.getPath());
我遇到了同样的问题,并通过将系统属性设置为geckodriver.exe路径解决了它,如下所示:
System.setProperty("webdriver.gecko.driver","C:\\tech2\\selenium\\geckodriver.exe");
在实例化驱动程序之前设置属性
我找到了解决办法。这个问题似乎是selenium 3.x+特有的。我遇到了同样的问题,并通过将系统属性设置为geckodriver.exe路径解决了它,如下所示:
System.setProperty("webdriver.gecko.driver","C:\\tech2\\selenium\\geckodriver.exe");
在实例化驱动程序之前设置属性
我找到了解决办法。这个问题似乎针对selenium 3.x+。我在版本18中有geckodriver,所以它是最新的。此外,它还必须在Linux上运行,因此路径必须是Linux样式。在发生此错误之前,您至少能够运行一个场景吗?不,跳过所有测试。我在版本18中有geckodriver,因此它是最新的。此外,它必须在Linux上运行,因此路径必须为Linux样式。在发生此错误之前,您至少能够运行一个场景吗?否,将跳过所有测试。