JavaとSelenium Webドライバを使用していくつかのテストケースを自動化しようとしています。私は次のシナリオを持っています:セレン - ページが完全にロードされるまで待つ方法
- 「製品」という名前のページがあります。 'Product'ページの 'View Details'リンク をクリックすると、アイテムの詳細を含むポップアップ(モーダルダイアログ)が表示されます。
- ポップアップで「閉じる」ボタンをクリックすると、ポップアップが閉じて、 ページが自動的に更新されます(ページが再ロードされ、 の内容は変更されません)。
ポップアップを閉じると、同じページの の[項目を追加]ボタンをクリックする必要があります。しかし、Webdriverが「Add Item」ボタンを見つけようとしたときに、インターネットの速度が速すぎる場合は 、webdriverは 要素を見つけてクリックできます。
しかし、インターネットが遅い場合、webdriverをとすぐボタンをwebdriverをクリック、 ページが更新され、StaleElementReferenceExceptionが発生したとして ページの更新前にボタンを見つけ、しかし。ページが再ロードされる 前でも(ページ内のコンテンツをリロード前後同じであるため)とStaleElementReferenceException
- が異なる待機が使用される場合でも、すべての待機条件が真になる が生じます。
Thread.sleep(3000);
が使用されている場合は、[Add Item]ボタンをクリックする前にテストケースが正常に機能します。この問題の他の回避策はありますか?あなたは組み合わせることができます
私はセレン暗黙の待機を使用しますが、それは問題 – stackoverflow