我们正在使用selenium 3.0.1和gecko驱动程序(v0.11.1)以及firefox版本49。当我们尝试使用此代码触发firefox浏览器时
System.setProperty("webdriver.gecko.driver",gecko_driver_path );
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
return driver;
我们收到此错误
java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:216)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:207)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at cucumber.runtime.Utils$1.call(Utils.java:37)
请帮帮我。
答案 0 :(得分:1)
您必须按如下方式添加selenium-standalone服务器jar依赖项:
如果您使用的是DefaultSelenium(或RemoteWebDriver实现),则仍需要启动Selenium服务器。最好的方法是从Selenium下载页面下载selenium-server-standalone.jar并使用它。此外,如果您将以下依赖项添加到pom.xml中,您还可以将Selenium服务器嵌入到您自己的项目中:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.0.1</version>
</dependency>
参考: