私は以下のようにセレンを使用してのtestMethodを持っている:システムテストでSeleniumを使用するときにThread.Sleepを使用する代わりに何ができますか?
[TestMethod]
public void ShouldSendPasswordReminder()
{
// go to loginregister url
_fireFoxWebDriver.Navigate().GoToUrl(UkPaBaseUrl + "loginregister.aspx");
Thread.Sleep(1000);
// click the forgotten password
_fireFoxWebDriver.FindElement(By.LinkText("Forgotten your password?")).Click();
Thread.Sleep(1000);
// enter your email address
_fireFoxWebDriver.FindElement(By.Id("PasswordResetRequest1_PasswordResetRequest_Username"))
.SendKeys("[email protected]");
Thread.Sleep(1000);
// click submit
_fireFoxWebDriver.FindElement(By.Id("PasswordResetRequest1_PasswordResetRequest_PasswordResetRequestSubmit")).Click();
Thread.Sleep(5000);
// assert
Assert.IsTrue(_fireFoxWebDriver.Url.Contains("ThankYou"));
}
あなたが見ることができるようにページが、それが原因JavaScriptに何を完了するためにいくつかの時間がかかる場合がありますので、私は(何回ものThread.sleepを呼び出す必要があるだろうなど)を使用しているため、SeleniumはWatiNとは異なりページの読み込みや遅延を処理できないようであるため
これはコードをかなり醜く、あまり信頼性が高くありません。
このようなシナリオを処理するにはどうすればよいでしょうか?あなたのテストで頻繁にThread.Sleepコールを書くのですか?
おかげで、
これは[公式ドキュメント]をチェックし、その使用方法についての詳細情報については同じ質問http://stackoverflow.com/questions/5868439/wait-for-page-load-in-selenium – Sign