Watir Webdriver(0.9.1) 不再打开 Firefox 实例

Watir Webdriver(0.9.1) No Longer Opens an Instance of Firefox

在 rails 使用 Watir Webdriver v0.9.1(以及 Selenium Webdriver 2.53.1)时,Firefox 打开时

  browser = Watir::Browser.new :firefox

被叫了。但是现在,它在

那一行失败了
unable to bind to locking port 7054 within 45 seconds
    @ /Users/andmcadams/.rvm/gems/ruby-2.0.0-p648/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/socket_lock.rb:59:in `lock'
      /Users/andmcadams/.rvm/gems/ruby-2.0.0-p648/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/socket_lock.rb:40:in `locked'
      /Users/andmcadams/.rvm/gems/ruby-2.0.0-p648/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/firefox/launcher.rb:51:in `launch'
      /Users/andmcadams/.rvm/gems/ruby-2.0.0-p648/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/firefox/bridge.rb:43:in `initialize'
      /Users/andmcadams/.rvm/gems/ruby-2.0.0-p648/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/driver.rb:53:in `new'
      /Users/andmcadams/.rvm/gems/ruby-2.0.0-p648/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver/common/driver.rb:53:in `for'
      /Users/andmcadams/.rvm/gems/ruby-2.0.0-p648/gems/selenium-webdriver-2.53.1/lib/selenium/webdriver.rb:84:in `for'
      /Users/andmcadams/.rvm/gems/ruby-2.0.0-p648/gems/watir-webdriver-0.9.1/lib/watir-webdriver/browser.rb:46:in `initialize'
      test/integration/like_fanpage_task_test.rb:40:in `new'
      test/integration/like_fanpage_task_test.rb:40:in `block (2 levels) in <class:LikeFanpageTaskTest>'

它似乎是随机执行的,因为我没有更改其工作形式的代码,而且该行是调用的第一行。我有 Firefox 37.0.2,它运行得更早。我试过重新启动我的电脑,杀死与 ruby 和 Firefox 相关的进程并重新启动它们,并重新安装 Firefox 但无济于事。

Mozilla 推出了一个新的 webdriver,由于 firefox 47 中的一个错误,只有新的 webdriver 适用于 firefox。但是,我建议以任何一种方式永久切换到新的 webdriver,因为从 firefox 48 开始将完全放弃支持。

您可以使用 ruby 中的新网络驱动程序,方法如下:

driver = Selenium::WebDriver.for :firefox, marionette: true

但我不知道这是否能让您也能在 watir 中使用它。

据我所知 marionette(新驱动程序)支持在 watir 中尚未完成(我可能是错的),我看到 this 拉取请求正在处理它但是它未完成或合并。

在我看来你可以做到:

browser = Watir::Browser.new :marionette

当 watir 项目完成集成新驱动程序时。

请使用最新的网络驱动程序 selenium-webdriver.2.5.4 它在 seleniumhq 上尚不可用,但请搜索它。