我想使用 selenium2 c# webdriver 来测试我们的登录机制。如果我在 Debug模式下运行并给 Click 方法一些时间,则以下测试通过。如果我正常运行它,但测试失败并出现 NoSuchElementException。
[Test]
public void TestClickLogonLink()
{
_driver.Navigate().GoToUrl("http://nssidManager.local/");
IWebElement loginElement = _driver.FindElement(By.Id("loginWidget"));
IWebElement logonAnchor = loginElement.FindElement(By.LinkText("Log On"));
logonAnchor.Click();
IWebElement userNameTextBox = _driver.FindElement(By.Id("UserName"));
Assert.IsNotNull(userNameTextBox);
}
我需要如何告诉 Selenium 等待 logonAnchor.Click 加载完下一页?
最佳答案
像这样设置隐式等待:
driver.Manage().Timeouts().ImplicitlyWait(new TimeSpan(0, 0,30));
这将允许 Selenium 阻塞,直到 FindElement 成功或超时。
关于c# - 如何要求 Selenium2 在执行任何断言之前完成 .Click 上的页面加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6666322/