Tag: 系统测试

在系统测试中使用Selenium时,使用Thread.Sleep的替代方法是什么?

我有一个使用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调用? 谢谢,