1

rspecを使用して、Rails 4、Ruby 2.0.0環境で(カピバラを介して)セレンを動作させようとしています。spec_helper.rb で構成設定を設定して、すべてのブラウザーを使用してみました。Safari の例。

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

すべてのブラウザーについて、適切なドライバー (safaridriver など) が .xml にあることを確認しました$PATH。テスト例 (明らかにここには Javascript/AJAX はありません。動作させようとしているだけです);

it 'should post to the publication endpoint', :vcr do
  Capybara.current_driver = :selenium
  visit root_path
  Capybara.use_default_driver
end

visit root_path、次のエラーが表示されます。

Selenium::WebDriver::Error::TimeOutError:
       timed out waiting for Safari to respond

環境

rails (4.0.0.beta1)
ruby 2.0.0p0
webmock (1.9.3)
capybara (2.0.2)
selenium-webdriver (2.31.0)

私はこれを2日間機能させようとしてきたので、どんな助けも大歓迎です!

4

1 に答える 1

1

SafariDriver は、Safari ブラウザー拡張機能として実装されています。つまり、Selenium で Safari を使用する前にインストールする必要があります。次の手順に従ってください: https://code.google.com/p/selenium/wiki/SafariDriverInternals

Apple の (無料の) Safari 開発者プログラムにサインアップし、拡張機能の署名付き証明書を生成します。

SafariDriver 拡張機能をビルドします:
./go safari

拡張機能をインストールします。

Safari を起動
します 開発メニューを有効にします ([設定] > [詳細設定] > [メニュー バーに [開発] メニューを表示])拡張機能ビルダーを開きます ([開発] >
[拡張機能ビルダーを表示])
新しい拡張機能を追加します: $SELENIUM_CLIENT/build/javascript/safari-driver/SafariDriver.safariextension
[インストール] をクリックします

于 2013-05-17T09:16:01.073 に答える