Use Chrome with Cucumber & Capybara
We frequently swap out Firefox for Chrome in our selenium (@javascript) cucumber tests. It is actually very easy, but not widely known.
Update: I got some questions about why we’d use Chrome. Speed hasn’t been the issue (use capybara-webkit for that) but we have found some things that work better in Chrome vs Firefox (and vice-versa). Also, you get different rendering options and different standards support (for example, websockets). If you’re having test problems, switching probably isn’t your solution, but you can always try.
Step 1 – Tell Capybara about Chrome
Inside your features/support/env.rb add these lines:
Capybara.register_driver :chrome do |app| Capybara::Selenium::Driver.new(app, :browser => :chrome) end Capybara.javascript_driver = :chrome
Step 2 – Install chromedriver
If you’re using homebrew on OS X (and why wouldn’t you?) simply install using:
brew install chromedriver
Otherwise, download it manually and make sure it is in your path (I typically put it in /usr/local/bin).
Step 3 – Run the features
Run your features and anything tagged with @javascript or @selenium is now running in Chrome instead of Firefox. Yay!

3 Comments
glenn September 27, 2012
Thanks mate, this works fiine, but do you know how to override the user agent of the chrome browser? i’ve seen alot of tutorials but only with Firefox, but i much rather do it with chrome browser.
Cyril December 17, 2012 http://crohr.me
@glenn: see https://makandracards.com/makandra/8381-run-chrome-in-a-specific-resolution-or-user-agent-with-selenium.
Maninder March 26, 2013
no able to find inner html of an element
eg
Hello World
not able o get value “Hello World”
Using cucumber, capybara and crome driver
All Latest versions
Post a Comment