Jenkins (3.5.3) の最新の Selenium コードを実行しており、テストはグリッド経由で Windows Server 2012 を実行している VM ノードに送信されています。ノードで IEDriverServer 64 ビット (3.5.1) を実行しようとすると、 sendkeys は耐えられないほど遅いです。32 ビットの IEDriverServer を使用すると機能することを何度も読みましたが、テストを実行しても IE が読み込まれません。
クレイジーなことに、これは昨日9時間機能しました(私は何百ものテストを行っていますが、これは正しい時間枠です)。今日テストを再実行したところ、最初は問題なく動作していましたが、数時間後にテストが通らなかったことに気付き、VM を確認するとテキストがクロールしていました。なぜこのようなことが起こるのでしょうか?理論的には、送信キーが遅いのはビット数の不一致によるものだと理解していますが、なぜ 64 ビットの exe が何時間も動作し、その後動作を停止するのでしょうか?
それが何であれ、これが私のWebドライバーの定義です:
InternetExplorerOptions ieOptions = new InternetExplorerOptions()
.destructivelyEnsureCleanSession();
caps = DesiredCapabilities.internetExplorer();
caps.setBrowserName("internet explorer");
caps.setCapability(InternetExplorerDriver.ENABLE_PERSISTENT_HOVERING, false);
WebDriver driver = new RemoteWebDriver(new URL(nodeURL), ieOptions.merge(caps));
return driver;
私はこれを調査し、何週間も断続的に修正しようとしてきました。それは私を夢中にさせています。何か案は?本当にありがとう!
編集:速度が低下し始めたテストを見ると、そのテストで Cookie を削除したことがわかりました。私が IE について読んだところによると、IE は常に Cookie の削除を正しく処理するとは限りません。そのテストは簡単に書き直すことができますが、どのテストが実行されていても、テキストの実行は常に遅くなります。誰もがこれに遭遇しましたか?
(サイドノード: 私は IE が嫌いです。それだけです)。