4

Firefox 12に更新されて以来、Selenium(PythonおよびMac OS 10.7)で特定のプロファイルを使用してFirefoxを起動するたびに、「アドオンの互換性の確認」ダイアログがポップアップ表示され、このダイアログが永久に表示されたままになることがあります。強制終了します。強制終了した後も、Firefoxの新しいインスタンスは起動を継続し、残りのSeleniumスクリプトを正常に終了します。

に設定extensions.checkCompatibilityしてみましたfalse。これにより、Firefoxを通常どおり起動した場合は修正されましたが、Seleniumで起動した場合は修正されませんでした。このダイアログを抑制する方法について何かアイデアはありますか?ありがとう!

4

3 に答える 3

5

このダイアログは、Firefoxが更新されるたびに1回だけ表示されます。毎回表示されるのは、おそらくSeleniumが毎回新しいプロファイルを作成するためです。extensions.lastAppVersionプリファレンスを(または現在のFirefoxのバージョンが何であれ)に設定する"12.0"と、Firefoxはそれが更新されたとは見なさなくなり、このダイアログは表示されなくなります。extensions.showMismatchUIただし、設定を追加してに設定する方が簡単なはずです。これによりfalse、このダイアログが抑制されます(ただし、他のアップグレードアクションは抑制されません)。

補足extensions.checkCompatibilityFirefox 3.6以降、設定は何も実行しなくなりました。これは、現在のFirefoxバージョンのバージョン固有の設定です。したがって、extensions.checkCompatibility.12.0代わりにプリファレンスを設定する必要があります。ただし、これにより、関係するダイアログだけでなく、拡張機能の互換性チェックが完全に無効になります。

于 2012-07-30T06:49:08.493 に答える
1

私はextensions.checkCompatibilityをfalseに設定しようとしました。これにより、Firefoxを通常どおり起動した場合は修正されましたが、Seleniumで起動した場合は修正されませんでした。

Seleniumで起動したときに起動しない理由は、Firefoxドライバーが一時ファイルディレクトリに一時プロファイルを作成し、テストの速度を低下させ、不要なスペースを占有するためです。

テスト目的のプロファイルを作成し、必要なものを設定します。SeleniumProfileを作成するための完全な手順は、https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profilesにあります。

Javaでは次のものがあります。

protected WebDriver createFirefoxDriver() {     
    File proFile = new File("C:\\Users\\<username>\\AppData\\Roaming\\Mozilla\\Firefox\\Profiles\\xxxxxx42.SeleniumProfile");
    FirefoxProfile ffProfile = new FirefoxProfile(proFile);
    WebDriver ffDriver = new FirefoxDriver(ffProfile);

    return ffDriver;
}
于 2014-01-15T19:30:33.047 に答える
0

これを行うと、 「アドオンの互換性の確認」ダイアログが削除されます。これは、Windowsオペレーティングシステムに基づいています。

一時的なFFプロファイルを作成し、以下に示すようにそのプロファイルでサーバーを起動します。

java -jar selenium-server-x.x.x.jar -firefoxProfileTemplate "/path/to/the/temp/profile"

次のコードを使用します。

import com.thoughtworks.selenium.*;
public class Test {

public static void main(String ar[]) {

Selenium sel = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com/");

sel.start();
}
}

[ファイル名を指定して実行]コマンドに「%TEMP%」と入力すると、セレンセッションと同じ名前のフォルダーが表示されます。フォルダの内容をコピーして、一時プロファイルの内容に置き換えます。

アドオンの互換性を削除するには、以下の手順に従ってください。
1。新しいFFプロファイル
2を作成します。必要な設定に従ってFFプロファイルを設定します
3。Firefoxを呼び出すようにセレンのサンプルプログラムを実行するだけです。
4。これで、システムのどこかに作成されたSeleniumSessionと同じ名前のフォルダーを見つけることができます。(おそらく、一時コンテンツが保存されているディレクトリにあります)
5。フォルダの内容をコピーして、新しく作成したプロファイルに置き換えます。

これで、必要なときにいつでも新しく作成されたプロファイルを使用できます。FFが更新されるたびに、プロファイルを使用してFirefoxを一度呼び出すことにより、既存のアドオンが既存のバージョンと互換性があるかどうかを常に確認してください。

于 2012-07-30T05:24:15.560 に答える