以下のように、Selenium を使用した TestMethod があります。
[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("username.lastname@domain.com");
Thread.Sleep(1000);
// click submit
_fireFoxWebDriver.FindElement(By.Id("PasswordResetRequest1_PasswordResetRequest_PasswordResetRequestSubmit")).Click();
Thread.Sleep(5000);
// assert
Assert.IsTrue(_fireFoxWebDriver.Url.Contains("ThankYou"));
}
ご覧のとおり、Thread.Sleep を何度も呼び出さなければなりません (ページが javascript などによって処理を完了するのに時間がかかる場合があるため)。Selenium が処理できないように見えるため、ほぼ各アクションの後にページの読み込みと遅延は、WatiN とは異なります。
これにより、コードがかなり見苦しく、信頼性が低くなります。
そのようなシナリオを処理するためのより良い方法は何ですか? テストでも Thread.Sleep 呼び出しを頻繁に記述しますか?
ありがとう、