I'm using Selenium WebDriver with my RSpec tests on a Rails 4 web app. There's no problem using Firefox in my tests, but I can't get the Chrome web driver to work.
This is what I've done:
Downloaded Chrome driver (version 2.9) from http://chromedriver.storage.googleapis.com/index.html
Unzipped and put the driver into /usr/bin/
sudo mv chromedriver /usr/bin/
sudo chmod +x /usr/bin/chromedriver
Added this to spec_helper.rb:
Capybara.register_driver :selenium do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Modify my test (page_spec.rb) to use Chrome for web driver.
require 'rspec_gem'
require 'rspec-expectations'
require 'selenium-webdriver'
driver = Selenium::WebDriver.for :chrome
This is the dev and test group in my Gemfile.rb:
group :development, :test do
gem 'sqlite3', '1.3.7' # Using sqlite for development builds
gem 'rspec-rails', '2.13.2' # Unit Test tool
gem 'annotate', '2.5.0' # For annotating models
gem 'simplecov' # Code coverage analysis.
gem 'capybara', '~>2.0' # Headless browser for test.
gem 'selenium-webdriver'
gem 'database_cleaner', '1.2.0' # github: 'bmabey/database_cleaner'
gem 'better_errors' # Replaces standard rails errors page
gem 'binding_of_caller'
gem 'factory_girl_rails', '4.1.0' # Generate user factories for testing.
gem 'faker', '1.1.2' # Tool to seed the user database.
gem 'rspec_gem' # For Selenium tests
gem 'rspec-expectations'
gem 'debugger'
end
I run the test using this command:
bundle exec rspec -fd page_spec.rb
This is the error I get when I try to run the test:
/home/jchan/.rvm/gems/ruby-2.0.0-p247/gems/selenium-webdriver-2.42.0/lib/selenium/webdriver/chrome/service.rb:50:in `start': unable to connect to chromedriver http://127.0.0.1:9516 (Selenium::WebDriver::Error::WebDriverError)
I'm not sure why it cannot connect to the chromedriver.
add codes in spec_helper.rb:
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Capybara.javascript_driver = :chrome
add this gem to Gemfile:
gem 'chromedriver-helper'
Then you will connect to the chromedriver
If you still use 'chromedriver-helper' please note that 'chromedriver-helper' is deprecated after 2019-03-31. Please update to use the 'webdrivers' gem instead.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With