1

リモート FireFox ドライバーで JSErrorCollector をロードしようとしていますが、拡張機能はロードされませんが、ローカル ドライバーで実行すると、すべて正常に動作します。

アドオンファイルをローカルマシンと同じ方法でリモートマシンに配置しましたが、ロードされません。

ローカル セットアップ (どちらが機能するか):

    private IWebDriver CreateLocalFirefoxDriver()
    {
        var seleniumFirefoxCapabilities = DesiredCapabilities.Firefox();
        var seleniumFirefoxProfile = new FirefoxProfile();

        seleniumFirefoxProfile.AddExtension(@"C:\ReportingQA\JSErrorCollector.xpi");
        seleniumFirefoxProfile.EnableNativeEvents = true;

        seleniumFirefoxCapabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, seleniumFirefoxProfile);

        return new FirefoxDriver(seleniumFirefoxCapabilities);
    }

リモートセットアップ (これは機能しません)

    private IWebDriver CreateRemoteWebDriver()
    {
        const string seleniumRemoteUrl = "http://***:4444/wd/hub/";

        var seleniumFirefoxProfile = new FirefoxProfile();
        seleniumFirefoxProfile.AddExtension(@"C:\ReportingQA\JSErrorCollector.xpi");
        seleniumFirefoxProfile.EnableNativeEvents = true;

        var seleniumFirefoxCapabilities = DesiredCapabilities.Firefox();
        seleniumFirefoxCapabilities.SetCapability(FirefoxDriver.ProfileCapabilityName, seleniumFirefoxProfile);

        return new RemoteWebDriver(new Uri(seleniumRemoteUrl), seleniumFirefoxCapabilities);
    }

それで、ここで何が問題なのですか?

4

1 に答える 1

0

Selenium 2.43.1 グリッドの Java ベースのテストでも同じことが起こります。私の場合の原因は、拡張子が送信され、ノードのディスクに書き込まれる方法にあるようです。Windows でテストを実行し、グリッド ノードが Linux にあると、拡張機能の送信に失敗します。

要するに、拡張ファイルは間違ったファイル名を取得し、ノードの匿名プロファイルの間違ったディレクトリに配置されます。詳細については、私がセレンに提出した問題を参照してください: https://code.google.com/p/selenium/issues/detail?id=8254

プロファイルがどのように送信されるかを確認するには、デバッグ モードでテストを実行し、RemoteWebDriver のインスタンスが作成された後にブレークポイントを設定します。次に、グリッド ノード フォルダに ssh します/tmp/anonymous[hash]webdriver-profile

  • プロファイル ファイルがextensionssubdir 内に配置されている場合は、おそらく別の問題があります。
  • あなたのプロファイルファイルが直接配置されていて、それらが機能しない/tmp/anonymous[hash]webdriver-profileような「フラット化された」ファイル名"extensions\JSErrorCollector@jsourcerer.com\build.sh"を持っている場合、あなたは私と同じ問題を抱えています.
于 2014-12-04T22:37:42.867 に答える