我在使用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的新手。
答案 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"
这对我有所帮助。试试吧。