【问题标题】:java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundExceptionjava.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException
【发布时间】:2016-08-10 10:47:39
【问题描述】:

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

我该如何解决它,它上周工作。

【问题讨论】:

  • 您是否尝试在 webdriver 实例关闭后对其进行设置?
  • 您的浏览器和 webdriver 版本似乎不同步。

标签: java maven selenium


【解决方案1】:

我认为您在 pom.xml 中缺少此依赖项:

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

检查Selenium docs about Maven dependencies

【讨论】:

  • 我的 pom.xml 中也有这个依赖项:org.seleniumhq.seleniumselenium-server2.53.0 org.seleniumhq.seleniumselenium-java2.53.0
  • 应该够了。尝试明确地包含 selenium-api 依赖项,看看是否有什么不同?
  • 也这样做了,但仍然没有运行。 selenium-api: 2.39.0
【解决方案2】:

瞧,它对我有用。刚刚更新了 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

【讨论】:

    【解决方案3】:

    我在尝试将远程驱动程序从 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】:

      在您的项目中运行mvn dependency:tree,并根据selenium-remote-driver检查传递的内容。

      在我的项目中,我正确地依赖于selenium-java 2.53.1,但另一个测试依赖项依赖于旧版本(2.40.0);这意味着我的测试在运行时使用了selenium-remote-driver2.40.0 版本,这会导致java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException 错误。

      如果您对 selenium-remote-driver 有传递依赖,则有两种“修复”它们的选项:

      1. 将依赖于旧版本的工件更新为
        • 完全不依赖于工件,或者
        • 使用最新版本。
      2. pom.xml&lt;dependencyManagement&gt; 部分中为selenium-java 添加一个条目,以将工件与版本2.53.1 挂钩。

        这将影响您项目中selenium-java 的版本以及所有嵌套的maven 依赖项;请注意,这些嵌套工件可能不适用于最新版本!

      另外值得一提的是selenium-java版本2.53.0有Firefox不兼容问题;据称版本2.53.1 解决了这个问题。详情请见http://seleniumsimplified.com/2016/06/use_selenium_webdriver_jar_locally/

      希望这会有所帮助:)

      【讨论】:

        【解决方案5】:

        我也遇到过。我更改为以下内容,它消失了。

        <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>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-12-12
          • 1970-01-01
          • 1970-01-01
          • 2022-01-21
          • 1970-01-01
          • 2019-12-20
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多