我正在编写代码来测试 web 应用程序,但在我的应用程序中我们有 AJAX 请求,数据将来自后端组件。因此获取数据需要一些时间。
所以你能建议我什么是最好的使用方法。
提前感谢拉朱
我正在编写代码来测试 web 应用程序,但在我的应用程序中我们有 AJAX 请求,数据将来自后端组件。因此获取数据需要一些时间。
所以你能建议我什么是最好的使用方法。
提前感谢拉朱
WebElement myDynamicElement = (new WebDriverWait(driver, 10))
.until(new ExpectedCondition<WebElement>(){
@Override
public WebElement apply(WebDriver d) {
return d.findElement(By.id("myDynamicElement"));
}});
这将等待页面中通过 ajax 加载的特定元素(myDynamicElement)。
在驱动程序上设置隐式超时
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
当没有立即找到一个元素时,它将在抛出异常之前等待它 10 秒。这应该给你的 ajax 调用足够的时间来回叫。