我正在尝试使用页面对象模型中的显式等待来测试单个页面应用程序,我面临的问题是显式等待在调用页面后立即开始检查元素,因为页面完全动态仅某些元素一些动作后出现。由于元素甚至在创建之前就被检查过,所以它总是会出现错误“没有这样的元素异常”示例代码:
public class example
{
private IWebElement ExampleElement = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.Id("ExampleElement ID"));
});
private IWebElement ExampleElement2 = wait.Until<IWebElement>((d) =>
{
return d.FindElement(By.Id("ExampleElement ID"));
});
public void example1()
{
ExampleElement.click();
ExampleElement2.click();
}
}
public class exampleTest
{
[Test]
public void SomeTest()
{
example.example1();
}
}
ExampleElement2 仅在 ExampleElement 单击后加载,但发生的情况是它甚至在单击操作之前一直检查 ExampleElement2,因此它无法找到它并给出异常。问题是我不希望元素在它被调用之前检查是否存在。
我是全新的,提前谢谢