Reputation: 1510
My goal is to use cucumber + capybara that run in a displayed browser with selenium (chromedriver).
Gemfile
group :test do
gem 'cucumber-rails'
gem 'database_cleaner'
gem 'selenium-webdriver'
gem 'rspec-rails'#, '~> 3.3.2'
end
features/support/env.rb
require 'cucumber/rails'
require 'selenium-webdriver' # Setup selenium-drivers for capybara
Capybara.register_driver :selenium_chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Capybara.current_driver = :selenium_chrome
test.feature
Feature: Google
Scenario: When I go to google, I am supposed to be on google
Given I am on google
test_steps.rb
Given(/^I am on google$/) do
visit('http://google.com')
end
When I run cucumber, it ends up in error
redirected more than 5 times, check for infinite redirects. (Capybara::InfiniteRedirectError)
It doesn't even open the browser...What am I doing wrong?
Thanks for your help.
Upvotes: 1
Views: 978
Reputation: 1510
I fixed it thanks to this post: https://gist.github.com/pranav7/0f377b91a8b2cafe71bd
I needed to put this in features/support/env.rb
require 'cucumber/rails'
require 'capybara/cucumber'
Capybara.register_driver :chrome do |app|
client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 120
Capybara::Selenium::Driver.new(app, :browser => :chrome, :http_client => client)
end
Capybara.default_driver = :chrome
Upvotes: 1