单元测试 - 找不到硒 C# 元素需要很长时间
本文关键字:长时间 元素 找不到 单元测试 | 更新日期: 2023-09-27 17:56:47
我正在使用Selenium for C#来测试页面。
如果在页面上找不到元素,有没有办法快速失败?
如果页面上找不到HTML元素,我正在经历很长时间的Selenium测试,然后最终失败。如果找不到元素,请立即失败的建议!
return WebDriver.FindElement(By.Id(myTextBoxId)
您可以尝试在测试开始时更改超时等待时间。
// In C# you can use
ChromeDriver driver = new ChromeDriver("Path to Driver");
driver.Manage().Timeouts().ImplicitlyWait(new Timespan(0,0,2));
现在,这应该等待 2 秒钟,让元素出现,然后失败。您可以将此值设置为所需的任何值。
如果不使用任何implicit
等待或explicit
等待,则搜索元素应立即失败。如果您这样做,请删除它们。而且,如果您混合隐式和显式等待,那么这甚至会使它变慢。另一方面,如果您预计该元素不存在,并希望快速检查该元素是否存在并继续,请使用列表中的findElements()
和size()
。如下所示:
List<WebElement> elements = driver.findElements(By.xpath("something"));
if(elements.size()>0){
//element exist
}else{
//does not exist
}