0

ヘッダー要素の 1 つを 5 秒ごとに更新する必要がある Web アプリケーションをテストしています。このヘッダー要素は、グループ内の同じアプリケーションを使用している誰かを通じて見積もり/ポリシーが発行されるたびに、すべてのユーザーをメッセージで更新します。そのため、開発者はすべてのページとすべてのユーザーに対して、5 秒ごとに継続的に AJAX 呼び出しを行っています。

さまざまなページをナビゲートするために、最初は暗黙の待機を使用していました。

DRIVER.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

その継続的な AJAX 呼び出しの後、WebDriver の明示的な待機関数を使用し、ページを移動するときにオブジェクトの可視性を探す必要がありました。お気に入り、

Wait<WebDriver> wait = new WebDriverWait(DRIVER, 20);
wait.until(visibilityOfElementLocated(By.id(objID)));

(visibilityOfElementLocated は、例外処理も処理する別の関数であることに注意してください。)

私の問題は、IE 8 でスクリプトを実行すると、この明示的な呼び出しコードの変更がうまく機能することです。終了)。そして、ブラウザーの呼び出しを (Esc または x リンクを押して) 停止すると、スクリプトはそのページで続行し、次のページで再びハングします。

IE 8 がページの読み込みで動作するように IE 9 が動作しないのはなぜですか? これをデバッグする方法はありますか?

PS: IEDriverServer を更新しようとしましたが、無駄でした。また、これは Chrome と FF ブラウザーで正常に動作します。

4

2 に答える 2

0

私はその理由を理解したようです(悲しいことに解決策ではありません)。WebDriver for IE9 の IEDriverServer の既知の問題です。

以下のリンクを参照してください: 問題 6402: IEDriverServer は常に document.readyState を返します != SignalR を使用するアプリケーションの完了 - ライブラリ

https://code.google.com/p/selenium/issues/detail?id=6402

于 2013-10-30T22:18:13.043 に答える