「進行中」という値を持つ「ステータス」フィールドを持つページがあります。何らかのアクション (ボタンのクリック) で、ステータスが Completed に変わります。Seleniumを使用して同じことを確認する必要があります。
getVisibleElement(By.id("status")).getText()
問題は、ボタンをクリックしてもステータスがすぐに進行中から完了に変わらないことです。AJAX 応答が数秒で受信された後に発生します。そして、コードがステータス テキストをアサートしようとすると、実際には古い値 In Progress が取得されるため、テストに失敗します。
getVisibleElement() にはタイムアウトが定義されていますが、要素がとにかく存在するため、ここでは役に立ちません。AJAX リクエスト (投稿ボタンのクリック) で再度レンダリングされます。
同じ問題を修正するにはどうすればよいですか? アサートの直前に固定遅延を追加できます。はいの場合、セレンでそれを行うにはどうすればよいですか?