【问题标题】:Selenium 2.41 - Unable to launch FirefoxSelenium 2.41 - 无法启动 Firefox
【发布时间】:2014-04-01 04:05:03
【问题描述】:

我无法启动 Firefox - 使用 selenium 2.41(仅限此版本)

这就是我调用的方式..

WebDriver d = new FirefoxDriver();
d.get("https://www.google.com");

遇到异常..

java.lang.NoSuchMethodError: org.openqa.selenium.Proxy.extractFrom(Lorg/openqa/selenium/Capabilities;)Lorg/openqa/selenium/Proxy;
at org.openqa.selenium.firefox.FirefoxDriver.dropCapabilities(FirefoxDriver.java:313)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:192)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:182)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:95)
at com.qglobal.automation.utility.convertt.main(convertt.java:103)

有什么想法吗??

编辑

我刚刚发现,如果我关联了 selendroid-standalone-0.8.0-with-dependencies.jar(我需要这个在 android 中运行我的测试),就会发生这种情况。如果我删除这个 jar,则不会发生上述异常。

我怎样才能在我的测试中同时拥有两个罐子?有什么想法吗?

(问题仅在 Firefox 中发现。Chrome 工作正常。)

【问题讨论】:

    标签: android selenium-webdriver webdriver remotewebdriver


    【解决方案1】:

    我很幸运能够在短时间内获得相同问题的解决方案。有来自的建议 “vlns”和“user1825477”的答案,首先我在我的 pom.xml 文件中检查了 selenium-api 的版本,确实是 2.40 将它更改为 2.41。删除了所有外部 jar 和 Maven 依赖项,并将 pom 文件重新运行为 Maven Build。一旦涉及到所有 Maven 依赖项,通过交叉验证确切的版本,仔细地单独添加 jar 文件,通过交叉验证,我的意思是,我基本上采用了所有 jar 的最新版本,我有几个版本较低,所以改变了他们。

    我想花一点时间来正确选择罐子是个好主意。

    【讨论】:

      【解决方案2】:

      我自己在使用 Maven 时遇到了这个问题。似乎核心问题是在 2.41+ 中,Firefox 驱动程序使用的 Proxy.java 类有一个新方法 extractFrom ,这在以前的版本中是不存在的。一些第三方驱动程序的依赖项强制使用旧版本的 selenium-api 包,其中包含 Proxy.java。

      必须为 selenium-api 解析它的第三方依赖项添加排除项,或者将 selenium-api 显式添加到依赖项列表并在 2.41 版本中指定它。

      【讨论】:

        【解决方案3】:
        • 在启动 java 程序时检查 Selenium JAR 是否存在于您的类路径中。 NoSuchMethod 错误可能意味着类路径存在问题。
        • 如果使用驱动程序 2.41 不重要,请尝试降级到较低版本。根据我的经验,这并没有什么不同(除非您特别在 v2.41 中寻找某些功能)

        【讨论】:

          【解决方案4】:

          问题已解决。

          我有与测试相关联的 selendroid jar(用于在 Android 设备上运行我的测试)。由于类路径中 jar 的顺序,selendroid jar 导致了问题。当我更改顺序(首先是硒罐,其次是 selendroid)时,错误消失了。

          谢谢大家。

          【讨论】:

          • 我真的不明白为什么人们对这个答案有疑问。它解释了问题,它是如何解决的,并且它来自问题本身的海报,因此它显然适用。
          【解决方案5】:

          将以下内容添加到 pom.xml 为我解决了这个问题

              <dependency>
                  <groupId>org.seleniumhq.selenium</groupId>
                  <artifactId>selenium-firefox-driver</artifactId>
                  <version>2.47.1</version>
              </dependency>
          

          【讨论】:

            猜你喜欢
            • 2017-02-25
            • 2019-09-21
            • 2015-02-28
            • 2016-08-08
            • 2014-01-20
            • 1970-01-01
            • 2018-09-05
            • 2017-04-26
            • 1970-01-01
            相关资源
            最近更新 更多