我在Selenium Webdriver上运行我的测试用例。我有一个场景,点击一个特定的按钮,页面开始加载无限时间。由于click命令没有完成,我无法使用webdriver sendkeys(Keys.Escape)
函数停止页面加载。
我尝试使用driver.manage().timeouts().pageLoadTimeout(3L, TimeUnit.SECONDS);
来停止页面加载,但它也未通过测试用例。尝试使用try catch同样。
我想要的是页面加载应该在3秒后停止,测试应该继续下一步。如何处理pageLoadTimeout
以便它不会在我的测试中失败并在3秒内停止加载页面。
感谢任何帮助。
答案 0 :(得分:0)
尝试使用操作单击元素的位置,而不是使用内置的IWebelement Click。
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Interactions.Internal;
Actions builder = new Actions(driver);
IWebElement tagElement = driver.FindElement(By.Id(""));
builder.MoveToElement(tagElement).Click().Perform();
上述代码中的点击是鼠标模拟点击。
如果你经常这么做,你可能想要创建一个ClickAt函数。
public void ClickAt(IWebElement tagElement)
{
Actions builder = new Actions(driver);
builder.MoveToElement(tagElement).Click().Perform();
}