Rails selenium 访问命令firefox

Rails selenium visit command firefox

我正在尝试 运行 selenium with capybara 和 minitest on ubuntu with firefox 50.1 但它不会访问任何 url。我只是打开了 firefox,但它是空的,但有时我会收到错误 1:

测试文件:

require "test_helper" 

feature "dashboard" do 

  scenario "test" , :js=>true do
    Capybara.current_driver = :selenium
    visit("http://www.google.com/")

    visit root_url
    end
end  

宝石文件:

 group :test do
  gem 'selenium-webdriver', '~> 2.53', '>= 2.53.4'
  gem 'minitest-reporters' 
  gem "minitest-rails-capybara"  

错误 1:

test_0001_test ERROR (65.56s) Selenium::WebDriver::Error::WebDriverError:
Selenium::WebDriver::Error::WebDriverError: unable to obtain stable firefox connection in 60 seconds (127.0.0.1:7055) test/features/instance_dashboard_test.rb:81:in `block (2 levels) in '

我缺少一些配置什么的?我无法访问任何 url,并且测试不起作用

我不确定 selenium 2.53 支持哪些 FF 版本,请考虑降级你的 FF 版本(目标是 v46-v47 之类的东西)或升级 selenium 版本(这会更好,但你需要额外的 geckodriver 设置). 看看是否有帮助。

我遇到了类似的问题,通过将 Firefox 降级到 ESR 版本(如 acikojevic 提到的)来解决了一段时间,但最后我发现从 Firefox 切换到 [=17= 更容易] 直到 geckodriver 成熟。

为此,请将以下内容添加到您的 spec_helper.rb

# Use Chrome instead of Firefox until geckodriver matures
Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end

我为自己找到的最佳组合是使用 FF45 ESR + Selenium WebDriver 2.53.4。希望我也尝试过使用 FF54 + Selenium 3.4.3,但是您需要安装 GeckoDriver,因为 Firefox 决定暂时不实现 Selenium3+ 的任何本机扩展。