在将 Watir Webdriver v0.9.1 用于 Rails(以及 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 引入了新的 Web 驱动程序,由于 Firefox 47 中的错误,只有新的 Web 驱动程序适用于 Firefox。不过,我建议永久切换到新的网络驱动程序,无论哪种方式,因为从 Firefox 48 开始将完全放弃支持。
您可以使用以下命令在 ruby 中使用新的网络驱动程序:
driver = Selenium::WebDriver.for :firefox, marionette: true
但我不知道这是否能让你也能够在 watir 中使用它。
据我所知,watir 中的 marionette(新驱动程序)支持尚未完成(我可能是错的),我明白了this拉取请求正在处理它,但尚未完成或合并。
在我看来你好像可以这样做:
browser = Watir::Browser.new :marionette
当 watir 项目完成集成新驱动程序时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)