1

Junit テストを並行して実行しようとしています。3 つのノードでグリッドをセットアップしましたが、テストの実行中に例外が発生しました。

org.openqa.selenium.firefox.NotConnectedException: 45000 ミリ秒後にポート 7055 でホスト 127.0.0.1 に接続できません。

私の理解では、Firefox とセレンのバージョンとは何の関係もありません。例外は、45000 ミリ秒以内に解放されない webdriver インスタンスに対して firefox によって発行されたロックが原因であると考えられ、接続しようとしている他の webdriver インスタンスに対してタイムアウト例外がスローされます。同時にポート 7055 (システムの遅さが原因である可能性があります)

したがって、この場合、次のコードを使用してタイムアウトを増やすと思います

   DesiredCapabilities capablities = new DesiredCapabilities();

    FirefoxBinary firefoxBinary = new FirefoxBinary();
    firefoxBinary.setTimeout(120000);


    FirefoxProfile profile = new FirefoxProfile();
    profile.setAcceptUntrustedCertificates(true);
    profile.setAssumeUntrustedCertificateIssuer(false);

    capablities = DesiredCapabilities.firefox();

    capablities.setCapability("firefox_binary", firefoxBinary);
    capablities.setCapability("firefox_profile", profile);

   driver =  new RemoteWebDriver(new URL("http://" + parameters.getRemoteUrl() + ":4444/wd/hub"), capablities);

しかし、再び例外WedDriverException が発生しました: java.util.HashMap は java.lang.String にキャストできません

この例外は、firefoxbinary の機能を設定するときにスローされます

capablities.setCapability("firefox_binary", firefoxBinary);

それ以外の場合、RemoteWebdriver インスタンスは問題なく作成されます

ポート 7055 のロックに関してタイムアウトを増やすのが正しいかどうか教えてください。もしそうなら、Firefox Binary の webdriver 例外を解決するのを手伝ってください。

4

2 に答える 2

0

受信した元のエラー (ポート 7055 でホスト 127.0.0.1 に接続できません) がタイムアウトの問題によるものかどうかはわかりません。使用しているセレンとFirefoxのバージョンに関連していると確信しています。SO に関する同様の質問と私の回答をまだご覧になっていない場合は、こちらをご覧ください。最新のものを使用していない場合は、セレンのバージョンをアップグレードする必要があると思います。

于 2014-01-21T15:27:58.530 に答える