6

私はきゅうりとカピバラの初心者なので、ご容赦ください。

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 ではうまくいったのはなぜですか?

ご協力ありがとうございました。

4

0 に答える 0