Ruby on rails 运行RSpec测试时,Firefox地址栏和页面为空

Ruby on rails 运行RSpec测试时,Firefox地址栏和页面为空,ruby-on-rails,selenium-webdriver,rspec-rails,Ruby On Rails,Selenium Webdriver,Rspec Rails,我得到了这个错误 Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055) 这是我的测试宝石清单 capybara (2.1.0) rspec (2.14.1) rspec-core (2.14.3) rspec-expectations (2.14.0) rspec-mocks (2.14.1) rspe

我得到了这个错误

   Selenium::WebDriver::Error::WebDriverError:
   unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055)
这是我的测试宝石清单

capybara (2.1.0)
rspec (2.14.1)
rspec-core (2.14.3)
rspec-expectations (2.14.0)
rspec-mocks (2.14.1)
rspec-rails (2.14.0)
selenium-webdriver (2.35.1)
我的Firefox版本是29


当我降级我的FF时,它运行良好。

Firefox 29不是一个稳定的版本,它仍然处于测试版-在任何情况下,你都不能期望团队支持测试版浏览器版本

答案就在“当我降级我的FF时,它运行良好”

Selenium捆绑了Firefox所需的驱动程序,它实际上是Firefox的一个扩展,需要在Firefox升级和升级时保持最新和稳定的维护和修复

解决方案通常是双重的。首先要记住,Selenium只支持某些版本的Firefox。当新版本的Firefox发布时,可能会出现一些兼容性问题,但通常情况下,团队可以很快发布一个版本,这样你就不会被困太久。这一点在这里根本不适用,因为您使用的是浏览器的beta版,这是任何合理的开发人员都不会做的

Selenium团队的目标是支持Firefox的最新版本、之前的版本、最新的ESR(扩展支持)版本以及之前的版本

解决方案的第二部分是始终保持硒。无论您的Firefox版本和Selenium的支持计划如何,您的版本都有几个月的历史

您可以从最新的信息中看到,目前的支持情况如下:

17 (immediately previous ESR release)
24 (current ESR release)
27 (immediately previous release
28 (current release)

您正在回滚到以前的版本,即Selenium实际支持的版本,这就是您的问题得到修复的原因。

我也遇到了同样的问题,这适用于Firefox版本28

在GEM文件中,将当前版本替换为

gem "selenium-webdriver", "~> 2.38.0"
然后跑,

gem update selenium-webdriver

bundle install

最新的firefox通常包含安全修补程序,立即获得selenium的支持非常重要。但我想现实是项目的资源有限,所以你说的有道理。@akostadinov不是真的。Firefox 29自我在这里的回答之后已经发布,它现在支持更多HTML5元素,例如
input
元素,类型为
number
。到目前为止,Firefox还不支持这些元素,并将它们作为通用的普通输入元素呈现,现在它可以正确地呈现它们。FirefoxDriver需要更新以支持它。这是数百个关于Selenium和Firefox不兼容可能发生的例子中的一个。我想这是一些误解,因为我认为我们的评论并不矛盾。@akostadinov“Firefox更新通常包含安全补丁”的说法根本不正确。这就是重点。我说它们通常包含,建议用户升级(因此开发人员可以使用新版本进行测试)。我没有说它只包含这样的修正,如果这是你读的。这是一个证明: