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