Francois
Francois

Reputation: 1510

Capybara::InfiniteRedirectError on visit('http://google.com')

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

Answers (1)

Francois
Francois

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

Related Questions