私はきゅうりとカピバラの初心者なので、ご容赦ください。
chrome と firefox をテスト プラットフォームとして使用するキュウリ プロジェクトをセットアップしようとしています。これまでのところ、Chrome では動作するテストがありましたが、Firefox では動作しませんでした。
以下はコード スニペットです。
require 'uri'
require 'net/http'
require 'fileutils'
require 'selenium-webdriver'
require File.dirname(__FILE__) + '/throttle.rb'
#CAPYBARA
require 'capybara/cucumber'
require 'capybara/session'
#require 'capybara-webkit'
Capybara.register_driver :chrome do |app|
Capybara::Selenium::Driver.new(app, :browser => :chrome)
end
Capybara.register_driver :selenium_firefox do |app|
Capybara::Selenium::Driver.new(app, :browser => :firefox)
end
driver = case ENV['BROWSER']
when 'chrome'
:chrome
when 'firefox'
:selenium_firefox
when 'webkit'
:webkit
when 'ie'
:internet_explorer
else
:chrome
end
Capybara.default_driver = driver
Capybara.javascript_driver = :selenium_firefox
Capybara.run_server = false
Capybara.default_selector = :css
次に、テストのために、私は単純に「http://www.google.com」にアクセスしました。
ブラウザのパラメータを chrome に設定すると、問題なく動作しました。Cucumber は chrome を開き、自動的に「www.google.com」と入力し、ページは問題なく読み込まれました。
ただし、firefox: $cucumber features/test.feature BROWSER=firefox に設定した瞬間、機能しませんでした。Firefox ブラウザーは開きましたが、URL ボックスに何も自動的に入力されませんでした。
そのため、セットアップ プロセスで気付いていない何かが欠けているに違いありません。私はウェブ上で解決策を探していました (「selenium webdriver」を必要とする、「selenium webdriver」を Gemfile に入れるなど) が、これまでのところどれもうまくいきませんでした。
ここで何が欠けていますか?visit() が firefox の URL ボックスに自動的に入力されなかったのに、chrome ではうまくいったのはなぜですか?
ご協力ありがとうございました。