将Chrome设置为RSpec / Capybara的默认浏览器

时间:2014-01-29 23:48:19

标签: google-chrome selenium rspec capybara

我在使用Chrome在Ubuntu 13.10 64位上使用RSpec / Capybara时遇到了一些麻烦。默认情况下它启动Firefox - 我们试图通过多种方式改变它,包括:

http://actsasblog.ca/2011/09/28/how-to-use-chrome-with-capybara/

/home/.../xxx_spec.rb:8:in `<top (required)>': undefined local variable or method `“chromedriver”' for main:Object (NameError)

我们也尝试过:

require 'capybara/rspec'
require 'rspec'
require 'selenium-webdriver'

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

/home/ubuntu/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/selenium-webdriver-2.39.0/lib/selenium/webdriver/chrome/service.rb:50:in `start': unable to connect to chromedriver http://127.0.0.1:9515 (Selenium::WebDriver::Error::WebDriverError)

使用Chrome需要另外一步吗?我是Selenium的新手。

4 个答案:

答案 0 :(得分:22)

如果我没记错的话:

我从此资源https://code.google.com/p/selenium/wiki/ChromeDriver

下载了最新的chromedriver

然后插入spec_helper.rb

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

Capybara.javascript_driver = :chrome

它对我有用

答案 1 :(得分:18)

将此gem添加到Gemfile以安装和更新chromedriver。

gem "chromedriver-helper", "1.0.0"

https://github.com/flavorjones/chromedriver-helper。在以前答案的评论中列出的错误已得到修复。

然后将其添加到spec_helper.rb

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end

就是这样。

答案 2 :(得分:5)

gem "chromedriver-helper"添加到Gemfile并运行bundle

spec_helper.rb阻止Rspec.configure区外Capybara.register_driver :selenium do |app| Capybara::Selenium::Driver.new(app, browser: :chrome) end 中也包含以下代码行。

require 'capybara'

最重要的是,不要忘记spec_helper.rb

中的getSupportFragmentManager().beginTransaction().replace(R.id.container, new HomeFragment()).commit();

这将解决问题。 :)

答案 3 :(得分:-2)

gem "chromedriver-helper", "1.0.0"

这对我有所帮助。试试吧。

相关问题