28

概要: Chromedriver は 1 台のマシンでは正常に動作しますが、他の 2 台の同一のマシンでは非常に遅くなります。

設定:

  • コーディングに .Net を使用し、テストの配布に Selenium Grid を使用する Selenium Webdriver。MSTest は、テストを実行するために Visual Studio 2010 内から使用されています。
  • ハブとして機能する 64 ビット Windows 7 ローカル マシン
  • ローカル ネットワーク上の 3 つの 32 ビット Win 7 リモート マシン (うち 2 つは仮想マシン) はすべてノードとして構成されています。リモート マシンでノードを起動するために使用するコマンドは次のとおりです。

    java -jar c:\seleniumWebDriver\seleniumGrid\selenium-server-standalone-2.31.0.jar -role node -hub http://XXX.XXX.XXX.XXX:4444/grid/register -browser "browserName=chrome" ,maxInstances=4 -Dwebdriver.chrome.driver="C:\seleniumWebDriver\chromedriver.exe"

  • ドライバーは、コード内から次のように起動されます。

    DesiredCapabilities 機能 = 新しい DesiredCapabilities(); capability.SetCapability(CapabilityType.BrowserName, browser); driver = new RemoteWebDriver(new Uri(hubUrl), capability);

  • 上記の変数「browser」と「hubUrl」は、実行時にビルドされる app.config ファイルを介して渡されます。この場合、browser=chrome です。

問題:

  • 上記のコマンドを使用してマシン 212 (仮想マシン) を chrome ノードとしてセットアップし、ハブからスクリプトを起動すると、chrome が適切なリモート マシンで起動し、正常に実行されます。1 秒あたり 5 ~ 10 コマンドの間でフィールドします。

  • マシン 78 (仮想マシン) またはマシン 103 (実マシン) を同じ方法でノードとしてセットアップし、ハブからスクリプトを起動すると、ノードが正常に chrome を起動することがわかります。ただし、1 秒あたり 1 コマンド以下のように、非常にゆっくりと実行されます。

その他の情報: 私が言ったように、あるマシンでは chrome は正常に動作しますが、他のマシンでは動作が非常に遅くなります。ノードとして構成されている場合、Firefox と IE は正常に動作します。

マシン 212 (正常に動作) を他のマシンと比較しましたが、違いがわかりません。すべてのマシンが「selenium-server-standalone-2.31.0.jar」と同じバージョンの ChromeDriver を使用しています。

ノード マシンが過負荷になっているようには見えません。また、ネットワークやマシンの変動する負荷とは関係がないように見える、非常に一貫したパフォーマンスの違いです。

私のネットワーク技術者は、これらすべてのマシンがネットワーク上で同じように構成されていることを確認しました。

誰もこのようなものを見たことがありますか?

編集 1: 今日ログインしたところ、3 台のリモート マシンすべてで chrome の実行が遅くなりました。以前はそのうちの 1 つが正常でしたが、現在はすべてが遅いです。

4

4 に答える 4

9

私のプロキシ設定は自動検出を使用していませんでしたが、次のことが大いに役立つことがわかりました. ドライバーの起動にかかる時間が 43 秒から 1 秒に短縮されました

driver = new ChromeDriver(new ChromeOptions{Proxy = null}); 
于 2014-10-15T12:50:07.600 に答える