【问题标题】:Firefox Webdriver disabled when running test in selenium webdriver在 selenium webdriver 中运行测试时禁用 Firefox Webdriver
【发布时间】:2014-10-07 15:04:15
【问题描述】:

我遇到了一个问题,即在 firefox 中使用 selenium webdriver 运行测试会启动 firefox 浏览器并禁用 firefox webdriver,如下所示。

因此测试超时并出现错误

org.openqa.selenium.WebDriverException: Failed to connect to binary
FirefoxBinary(C:\Program Files\Mozilla Firefox\firefox.exe) on port 7055; process output follows: 

如果我快速启用 webdriver 并重新启动浏览器,测试将设法运行并自行完成,所以我猜问题只是在运行测试时这个插件开始被禁用。 我该如何补救?谢谢!

【问题讨论】:

    标签: firefox selenium webdriver


    【解决方案1】:

    检查您使用的 Selenium 和 FireFox 的版本。不兼容的版本可能会导致此类问题。见:Where can I find a definitive Selenium WebDriver to Firefox Compatibility Matrix?

    【讨论】:

    • 感谢您的回答,但我已经检查了版本控制是否应该兼容(我使用的是 selenium 版本 2.42.2 和 firefox 29)。它在手动启用 firefox webdriver 扩展的情况下正常运行,所以我只是想知道为什么它一开始就被禁用,这会阻止它工作
    【解决方案2】:

    不幸的是,目前唯一的选择是使用 Marionette WebDriver

    https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver

    这适用于 Selenium 3 WebDriver 测试。但是,如果您在此基础上使用某些框架,则应检查其路线图以获取有关何时支持“geckodriver”或 Marionette 的信息。

    目前解决问题的最简单方法很可能是降级浏览器(例如,降级到 Firefox 46)并使用 FireFox 驱动程序。

    【讨论】:

      【解决方案3】:

      尝试完全删除扩展程序。通常 Seleniums FirefoxDriver 足以开始您的测试。

      WebDriver driver = new FirefoxDriver();
      

      这应该可以在没有任何外部 Firefox 插件的情况下工作。

      【讨论】:

      • 我正在使用 'WebDriver driver = new Firefoxdriver()' 来启动浏览器。问题是,只有在我开始在运行测试的 Firefox 浏览器中运行 webdriver 测试时,该扩展才会出现。谢谢!
      • 对于禁用驱动程序扩展的新 FF 版本,这不是一个选项。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-20
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      相关资源
      最近更新 更多