【问题标题】:Selenium remote driver issue with HtmlUnit driverSelenium 远程驱动程序问题与 HtmlUnit 驱动程序
【发布时间】:2017-09-11 01:20:27
【问题描述】:

[当我使用 Htmlunit 驱动程序执行脚本时,我看到了 Selenium 远程驱动程序的问题。 注意 1:- 当我使用 Firefox 驱动程序运行时,相同的脚本可以正常工作。] 注意 2:我的浏览器对我打开的任何站点都有安全身份验证过程,不确定这是否有 ant 角色。

我观察到 maven 下的 selenium 远程驱动程序在左窗格中显示几乎没有不同的图标。 我觉得它的 jar 文件加载问题。 我试图将 selenium 远程驱动程序手动放入 .m2 存储库。 1

错误信息:-

Exception in thread "main" java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException
    at TestPackage.titleNUrlCheckingTest.main(titleNUrlCheckingTest.java:16)
Caused by: java.lang.ClassNotFoundException: org.openqa.selenium.remote.SessionNotFoundException
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more

[在此处输入图片描述][2]

【问题讨论】:

  • 请使用最新的 2.26 版本,否则发布完整的 pom.xml
  • 我正在使用 selenium -remote-driver 3.3.1 版
  • org.seleniumhq.seleniumselenium-remote-driver3.3.1
  • 哪个 htmlunit-driver 版本?其他依赖是传递的

标签: selenium htmlunit-driver


【解决方案1】:

您需要使用最新版本,注意artifactId与旧版本的变化。

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>htmlunit-driver</artifactId>
    <version>2.26</version>
</dependency>

取决于

selenium-api3.3.1

更新:

您的 pom.xml 适用于 HtmlUnitDriver 的简单测试用例,但可能存在版本冲突,您应该从 selenium-java 3.3.1 中排除 HtmlUnitDriver 2.24:

    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.3.1</version>
        <exclusions>
            <exclusion>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>htmlunit-driver</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

另外,尝试删除所有 selenium 依赖项,并且只有 htmlunit-driver,所有需要的依赖项都由 maven 自动处理。

【讨论】:

  • 最新版本的 jar [htmlunit-driver-2.26-with-dependencies.jar] github.com/SeleniumHQ/htmlunit-driver/releases 好像没有 htmlunit 文件夹,你能看看吗?
  • 我已经为 2.26 的 htmlunit-driver 添加了上述依赖项,刷新并重新运行..仍然看到问题。
  • @Rajesh-Varma 那么请发布您的完整 pom。
  • @SameerPatil:该文件有com/gargoylesoftware/htmlunit 文件夹,请打开一个新的工单详细描述您的问题。
  • 我的观察只是关于 HtmlUnitDriver 类,它不存在于版本为“2.26”的 jar 中,而它存在于“2.25”中
【解决方案2】:

请使用最新版本的 htmlunit 依赖项更新您的 POM XML 文件

<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>htmlunit-driver</artifactId>
  <version>2.32.1</version>
</dependency>

如果你有类似的东西,请删除

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-htmlunit-driver</artifactId>
    <version>2.52.0</version>
</dependency> 

并更新项目。这应该可以解决您的异常问题。

参考:https://github.com/SeleniumHQ/selenium/issues/4930

【讨论】:

  • 对于那些忽略的人,请注意&lt;artifactId&gt; 的不同之处。它是not selenium-htmlunit-driver。
猜你喜欢
  • 2016-06-30
  • 2023-04-09
  • 1970-01-01
  • 2019-08-13
  • 1970-01-01
  • 2016-03-13
  • 2015-09-17
  • 2022-01-28
  • 1970-01-01
相关资源
最近更新 更多