私のプロジェクトでは、フォームを正しく保存するために、「保存」または「変更を保存」ボタンをクリックする必要があります。そのクリックはページ全体をリロードさせます(変更はリロード後にページに表示されます)。何か間違っていると、ページのリロードが中止されます。 単純なアサーションを作成して、そのページがリロードされたかどうかを確認したいのですが、テストが失敗する場合があります。 3回のを - (私はそれを同じフォーム上の5倍を使用することができ、私は、ページがリロードされたかどうかを確認するためにAssert.True()でそれを使用するが、それは常に動作しませんWebDriver(C#)でページがリロードされたかどうかを確認する方法はありますか?
public bool WasPageRefreshed(float seconds)
{
DriverLocal.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.MinValue);
string getReadyState = "return document.readyState;";
for (int i = 0; i < 10; i++)
{
string readyState = GetJsExecutor().ExecuteScript(getReadyState) as string;
if (readyState != "complete")
return true;
Thread.Sleep(TimeSpan.FromMilliseconds(seconds/10));
}
DriverLocal.Manage().Timeouts().SetPageLoadTimeout(TimeSpan.FromSeconds(60));
return false;
}
:私はこのコードを使用してみましたOK、2回のテストは失敗します)。 100%の使用率で正しく動作するようにアップグレードする方法はありますか? ページがリロードされたかどうかを確認する別の方法がありますか?
を確認することができます。私はページがリロード中にリロードしているかどうかを確認する必要があります。 –
あなたのケースは読み込みの確認とは異なります。 「保存」ボタンの後に存在し、アサーションをチェックするオブジェクトを見つけられないのはなぜですか? –
これはウェブページがjQueryを使用する場合にのみ有効です – nilesh