我遇到了一个问题。我的网页有一个DropDownList
控件。一旦DropDownList
值更改(通过选择不同的值),页面就会刷新并呈现内容。
然后我必须Thread.Sleep(2000);
在它去之前使用 and FindElement
。
我的问题:等待页面加载的最佳方法是什么?
我的代码中有很多实例,Thread.Sleep(2000)
以至于我开始认为这不是解决问题的最佳方法。
这是我的代码:
[TestInitialize()]
public void Setup()
{
if (BaseIntegrationTest.browserType.Equals(BaseIntegrationTest.IE))
{
driver = new InternetExplorerDriver();
}
else if (BaseIntegrationTest.browserType.Equals(BaseIntegrationTest.CHROME))
{
//driver = new ChromeDriver();
}
else if (BaseIntegrationTest.browserType.Equals(BaseIntegrationTest.FIREFOX))
{
driver = new FirefoxDriver();
}
}
第二部分:
[TestMethod]
public void testVerifyData()
{
// ...................
// ...................
driver.FindElement(By.XPath("//*[@id='ctl00_NavigationControl1_lnke']")).Click();
Thread.Sleep(2000);
//select from the dropdownlist.
IWebElement catagory = driver.FindElement(By.Id("ctl00_ContentPlaceHolder1_Filter"));
SelectElement selectCatagory = new SelectElement(catagory);
selectCatagory.SelectByText("Employee");
Thread.Sleep(2000);
// ...................
// ...................
}