我使用的是Firefox 45.0和pom.xml
中添加的依赖项
selenium-firefox-driver 2.53.0
。
java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException
at TestFIles_MDM.Test_Authn.setup(Test_Authn.java:27)
Firefox和Chrome都会出现错误。
我如何解决它,它上周正在运作。
答案 0 :(得分:3)
我认为你在pom.xml中缺少这种依赖:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.0</version>
</dependency>
答案 1 :(得分:2)
Voila,它对我有用。刚刚更新了pom.xml中的selenium-java依赖
<!-- Selenium java-jar dependency -->
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
</dependency>
或者这是获取更新版本的链接 - https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java
答案 2 :(得分:2)
在项目中运行mvn dependency:tree
,并根据selenium-remote-driver
检查传输内容。
在我的项目中,我在selenium-java
正确依赖2.53.1
,但另一个测试依赖依赖于旧版本(2.40.0);这意味着我的测试在运行时使用2.40.0
版本的selenium-remote-driver
,这会导致java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException
错误。
如果您对selenium-remote-driver
有传递依赖关系,则有两个选项可用于&#34;修复&#34;它们:
在pom.xml
的{{1}}部分中为<dependencyManagement>
添加一个条目,以便在selenium-java
版本上隐藏该工件。
这将影响项目中的2.53.1
版本以及所有嵌套的maven依赖项;请注意,这些嵌套工件可能无法与最新版本一起使用!
还值得一提的是,selenium-java
版本selenium-java
存在Firefox不兼容问题;版本2.53.0
涉嫌修复。有关详细信息,请参阅http://seleniumsimplified.com/2016/06/use_selenium_webdriver_jar_locally/。
希望这会有所帮助:)
答案 3 :(得分:1)
尝试从2.53.1更新到远程驱动程序到3.0.1时发生了这种情况。我只是将它恢复到2.53.1并且它消失了
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-remote-driver</artifactId>
<version>2.53.1</version>
</dependency>
答案 4 :(得分:0)
我也遇到了这个问题。我更改为以下内容,但它消失了。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>4.0.0-alpha-2</version>
</dependency>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>6.1.0</version>
<scope>provided</scope>
</dependency>