如何使用javascript处理selenium webdriver中的Ajax

时间:2012-12-07 12:16:04

标签: java selenium webdriver selenium-webdriver

我正在编写一个代码来测试web应用程序,但在我的应用程序中我们有AJAX请求数据将来自后端组件。所以需要一些时间来获取数据。

那么请你建议我用什么方法。

预先谢谢 拉朱

2 个答案:

答案 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)。