概要: 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 つが正常でしたが、現在はすべてが遅いです。