我面临一些问题,由于我的测试语句无法找到该元素,测试只是挂在那里(浏览器打开并且无法继续下一个测试)。
我的 TestStatemet 像这样:
driver.findElement(By.xpath("//input[@name='AID' and contains(@value,'sampleDataThatwillNotFound')]"));
仅当通过 XPATH 查找时测试才会挂起,通过 NAME/ID 查找时没有问题。我已经将超时设置为 60 秒,60 秒后,它仍然挂起。
以前有人遇到过这个问题吗?或者有人知道如何解决这个问题吗?
好吧,我也遇到了同样的问题,并在中找到了这个网络驱动程序 API 文档:
findElement
不应该用于查找不存在的元素,使用findElements(By)
并断言零长度响应。
所以我用类似的东西
List<WebElement> found = driver.findElements(By.id("elementid"));
if (found.size() > 0)
{
// get the 1st element
} else {
// time out
}
来解决这个问题。隐式超时可以很好地工作findElements
就我而言。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)