web-dev-qa-db-fra.com

Définissez Chrome comme navigateur par défaut pour RSpec / Capybara

J'ai du mal à utiliser Chrome pour travailler avec RSpec/Capybara sur Ubuntu 13.10 64 bits. Par défaut, il lance Firefox - nous avons essayé de changer cela de différentes manières, notamment:

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)

Nous avons également essayé:

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)

Y a-t-il une autre étape requise pour utiliser Chrome? Je suis nouveau avec Selenium.

25
Jacob Schaer

si je me souviens bien:

J'ai téléchargé la dernière chromedriver de cette ressource https://code.google.com/p/Selenium/wiki/ChromeDriver

Insérez ensuite dans spec_helper.rb

Capybara.register_driver :chrome do |app|
  Capybara::Selenium::Driver.new(app, :browser => :chrome)
end

Capybara.javascript_driver = :chrome

et ça a marché pour moi

22
gotva

Ajoutez ce joyau à Gemfile pour installer et mettre à jour chromedriver.

gem "chromedriver-helper", "1.0.0"

Voir https://github.com/flavorjones/chromedriver-helper . Les bugs listés dans les commentaires des réponses précédentes ont été corrigés.

Ajoutez ensuite ceci à spec_helper.rb:

Capybara.register_driver :Selenium do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end

C'est ça.

18
haley

Ajouter gem "chromedriver-helper" vers Gemfile et exécutez bundle

Incluez également ces lignes de code ci-dessous en vous spec_helper.rb à l'extérieur Rspec.configure bloquer.

Capybara.register_driver :Selenium do |app|
  Capybara::Selenium::Driver.new(app, browser: :chrome)
end

Surtout, n'oubliez pas de require 'capybara' dans le spec_helper.rb

Cela résoudra le problème. :)

5
Surge