我一直在使用C#selenium来自动化应用程序。我正面临执行测试时出现间歇性故障的问题。C#硒:测试间歇失败
有时测试通过&有时会失败。
失败说明该元素/框架/窗口不可用。
我一直在使用下面的代码等待
WebDriverWait wait = new WebDriverWait(Driver.Instance, TimeSpan.FromSeconds(100));
IWebElement elementToWait = wait.Until<IWebElement>((d) =>
{
return Driver.Instance.FindElement(By.Id("Element ID")); ;
});
是这种不一致是由于等待的webdriver使用?为避免这种情况,最佳做法是什么?
当调用FindElement()时,使用WebDriverWait将解决不在DOM中的元素的时序问题。但是,听起来您的情况中还有其他细节(您迄今为止拒绝提供)。来自例外的确切消息将是一个好的开始。据我所知,.NET绑定中没有代码,也没有任何浏览器特定的驱动程序实现会导致发生异常,并显示消息“元素/框架/窗口不可用”。 – JimEvans