使用Watir Webdriver v0.9.1 for 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但无济于事。
答案 0 :(得分:5)
Mozilla推出了一个新的webdriver,由于firefox 47中的一个bug,只有新的webdriver适用于firefox。但是我会建议永久切换到新的webdriver,因为firefox 48将完全删除支持。
您可以使用以下内容在ruby中使用新的webdriver:
driver = Selenium::WebDriver.for :firefox, marionette: true
但我不知道是否能让你在watir中使用它。
据我所知,牵牛花(新的驱动程序)支持尚未完成(我可能是错的),我看到this拉请求正在处理它但它没有完成或合并。
我认为你可以这样做:
browser = Watir::Browser.new :marionette
当watir项目完成新驱动程序的集成时。
答案 1 :(得分:0)
请使用最新的webdriver selenium-webdriver.2.5.4它在seleniumhq上尚未提供,但会搜索它。