Watir Webdriver(0.9.1)不再打开Firefox的实例 [英] Watir Webdriver(0.9.1) No Longer Opens an Instance of Firefox

查看:179
本文介绍了Watir Webdriver(0.9.1)不再打开Firefox的实例的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

  browser = Watir :: Browser.new:firefox 

被调用。然而,现在却无法在45秒内绑定到锁定端口7054

  
@ / 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:在`new'
test / integration / like_fanpage_task_test.rb:40:在< class:LikeFanpageTaskTest>'
< / code> pre>

它似乎是随机的,因为我没有从其工作表单中更改代码,该行是第一行。我有早期工作的Firefox 37.0.2。我已经尝试重新启动我的电脑,杀死与ruby和Firefox相关的进程并重新启动它们,然后重新安装Firefox,但是无济于事。

Mozilla推出了一个新的webdriver,并且由于firefox 47中的一个bug,只有新的webdriver可以用于firefox。不过,我建议永久切换到新的webdriver,因为支持将从firefox 48完全丢弃。



您可以使用下面的红宝石新的webdriver:

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

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



<至于我可以告诉木偶(新的驱动程序)支持尚未完成watir(我可能是错的),我看到拉请求正在处理它,但它没有完成或合并。



它看起来好像你可以这样做:

p>

  browser = Watir :: Browser.new:marionette 

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


While using Watir Webdriver v0.9.1 for rails (along with Selenium Webdriver 2.53.1), Firefox was opening when

  browser = Watir::Browser.new :firefox

was called. Now however, it fails on that line with

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>'

It seemed to do so randomly, as I did not change the code from its working form and that line is the first line called. I have Firefox 37.0.2, which worked earlier. I have tried restarting my computer, killing processes related to ruby and Firefox and starting them again, and reinstalling Firefox but to no avail.

解决方案

Mozilla has introduced a new webdriver, and due to a bug in firefox 47, only the new webdriver works for firefox. However I would suggest permanently switching to the new webdriver either way as support will be fully dropped as of firefox 48.

You can use the new webdriver in ruby using the following:

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

But I don't know if that would make you able to use it in watir as well.

As far as I can tell marionette (the new driver) support is not completed yet in watir (I could be wrong), I see this pull request is dealing with it but it is not completed or merged.

It looks to me as if you can do:

browser = Watir::Browser.new :marionette

When the watir project is finished integrating the new driver.

这篇关于Watir Webdriver(0.9.1)不再打开Firefox的实例的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆