Java Ajax中的WebDriver HTMLUnit问题

Java Ajax中的WebDriver HTMLUnit问题,java,ajax,webdriver,htmlunit,Java,Ajax,Webdriver,Htmlunit,我想使用SeleniumWebDriver(java)测试一个站点,但该站点包含ajax和HTMLUnit,它没有看到ajax内容 有解决办法吗 例如: WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6); //login into your account this.login(driver); //click on edit Profile Link into an ajax-loaded tab driver.

我想使用SeleniumWebDriver(java)测试一个站点,但该站点包含ajax和HTMLUnit,它没有看到ajax内容

有解决办法吗

例如:

WebDriver driver = new HtmlUnitDriver(BrowserVersion.FIREFOX_3_6);
//login into your account
this.login(driver);
//click on edit Profile Link into an ajax-loaded tab
driver.findElement(By.id("editProfile")).click();
//Result: org.openqa.selenium.NoSuchElementException 

在与ajax响应后必须出现的元素交互之前使用等待条件

WebDriverWait wait = new WebDriverWait(webDriver, 5);
 wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("xpath_to_element")));

这使得webDriver在5秒内等待您的元素。这个问题在前面被问过。

问题的焦点不是WebDriver本身,而是HtmlUnitDriver和ajax……WebDriver是一个接口。HtmlUnitDriver等是它的实现。它也以同样的方式工作。从我个人的经验来看,HTMLUnitDriver的javascript支持非常糟糕,而仿真更糟糕。我停止使用它进行回归测试,因为它引入了比它能检测到的更多的bug:(