9

Railsプロジェクト(Ubuntu 10.04システム)でCapybara seleniumを使用しており、テストを実行しているときにFirefoxをアップグレードしましたが、Firefoxが読み込まれ、すべてのアドオンがインストールされ、設定するまで待機します。それぞれが初めてアップしました。

セレンを開始するときにこれらすべてのアドオンを無効にする方法はありますか?

また

テストが実行されるたびにプロンプ​​トが表示されないように、すべてのアドオンをセットアップして設定を保存する方法はありますか?

アップデート

クロームを使用するように切り替えると、それで問題なく動作します。

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

 Capybara.javascript_driver = :selenium

でもFirefoxでテストしたいです。Firefoxで「テスト」プロファイルを設定し、次のように使用してみました。

Capybara.register_driver :selenium_firefox_custom do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "test")
end

Capybara.default_driver = :selenium_firefox_custom

これは機能しませんでしたが、それでもデフォルトのプロファイルを読み込もうとしました。

私はカピバラのgitバージョンを使用しています。

capybara (1.1.2)
  mime-types (>= 1.16)
  nokogiri (>= 1.3.3)
  rack (>= 1.0.0)
  rack-test (>= 0.5.4)
  selenium-webdriver (~> 2.0)
  xpath (~> 0.1.4)

Capybara.javascript_driver =:selenium_firefox_customも使用してみました

4

3 に答える 3

4

If you didn't want to create a profile that you have to maintain (eg: checking in to source control, etc), you could create the profile on the fly as follows:

Capybara.register_driver :selenium_firefox do |app|
  profile = Selenium::WebDriver::Firefox::Profile.new
  profile["extensions.update.enabled"] = false
  profile["app.update.enabled"] = false
  profile["app.update.auto"] = false
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => profile)
end

Capybara.default_driver = :selenium_firefox

That will create a profile on the fly that won't update the browser version or the extensions. Hope that helps!

于 2012-07-16T13:39:56.763 に答える
3

カスタムプロファイルを使用して、好きな名前を付けてみてください。

Capybara.register_driver :selenium_firefox_custom do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, :profile => "custom")
end

Capybara.default_driver = :selenium_firefox_custom

APIを使用しているバージョンによっては変更されている可能性がありますが、ほとんどこれがあなたがしなければならないことです。

于 2012-05-21T21:32:18.553 に答える
0

私は Ubuntu を使用していないので、Windows の回避策しか提案できません。プラグインなしで 2 番目の Firefox プロファイルを使用してセレン テストを実行するのは適切な方法だと思います。

Windows では、「firefox.exe -ProfileManager -no-remote」を Windows Run にフィードすることで実現できます。

Ubuntu でテストされていない方法は、[Alt]+[F2] と firefox -ProfileManager です。すべての Firefox Windows を閉じて、既存のプロセスを強制終了することが重要です。

于 2012-05-14T06:39:22.207 に答える