java.lang.NoClassDefFoundError:org / openqa / selenium / remote / SessionNotFoundException

时间:2016-04-18 15:29:59

标签: java maven selenium

我使用的是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都会出现错误。

我如何解决它,它上周正在运作。

5 个答案:

答案 0 :(得分:3)

我认为你在pom.xml中缺少这种依赖:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>2.53.0</version>
</dependency>  

检查Selenium docs about Maven dependencies

答案 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;它们:

  1. 根据旧版本更新工件
    • 完全不依赖于工件,或
    • 使用最新版本。
  2. pom.xml的{​​{1}}部分中为<dependencyManagement>添加一个条目,以便在selenium-java版本上隐藏该工件。

    这将影响项目中的2.53.1版本以及所有嵌套的maven依赖项;请注意,这些嵌套工件可能无法与最新版本一起使用!

  3. 还值得一提的是,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>