web-dev-qa-db-ja.com

RSpec / CapybaraのデフォルトブラウザとしてChromeを設定

Ubuntu 13.10 64ビットでRSpec/Capybaraを使用するためにChromeを取得するのに問題があります。デフォルトではFirefoxを起動します。これを含むさまざまな方法を変更しようとしました。

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)

私たちも試しました:

_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)

Chromeを使用するのに別の手順が必要ですか? Seleniumは初めてです。

25
Jacob Schaer

私が正しく覚えていれば:

このリソースから最新のchromedriverをダウンロードしました https://code.google.com/p/Selenium/wiki/ChromeDriver

次にspec_helper.rbに挿入します

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

Capybara.javascript_driver = :chrome

そしてそれは私のために働いた

22
gotva

このgemをGemfileに追加して、chromedriverをインストールおよび更新します。

gem "chromedriver-helper", "1.0.0"

https://github.com/flavorjones/chromedriver-helper をご覧ください。以前の回答に対するコメントにリストされているバグは修正されています。

次に、これをspec_helper.rbに追加します。

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

それでおしまい。

18
haley

追加 gem "chromedriver-helper" Gemfileにbundleを実行

また、以下のこのコード行をspec_helper.rb 外側 Rspec.configureブロック。

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

最も重要なことは、require 'capybara' の中に spec_helper.rb

これで問題は解決します。 :)

5
Surge