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 上尚不可用,但请搜索它。
在 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 上尚不可用,但请搜索它。