Selenium Webdriverを使用していますが、テスト中のアプリで次の問題が発生しました。
アプリには複数のページがあり、それぞれにページの名前を含む適切な「.page-title」要素があります(「その他のドキュメント」など)。テストがアプリ内を移動すると、他の操作を行う前に、これらの要素を使用してブラウザーが期待されるページにあると主張します。
問題は、アクションを実行するアプリのボタンをクリックしてから、正しいページにいることを確認すると(たとえば、page-title要素が正しいテキストを表示することを確認する)、Webdriverはアクションが実行されるのを待たないことです。 (例:新しいページの読み込み)、すぐに戻り、テストは失敗します。
アクションの実行と正しいページにいることの確認の間に短いスレッドスリープ(500ms)を追加すると、StaleElementReferenceExceptionが発生し(場合によっては)、大きなスレッドスリープを追加すると、テストに合格します(すべてではありません)時間)。
私の目的はテストの不安定さを減らすことですが、Thread.sleepなしでこれを行う方法について誰かが提案を持っていますか?