WebDriver处理AJAX异步加载请求

上一篇 / 下一篇  2013-01-22 14:57:49 / 个人分类:TestNG


设置超时等待时间10秒钟,默认500毫秒去验证一次。
new WebDriverWait(chrome, 10).until (new ExpectedCondition<Boolean>() {  
   @Override  
   public Boolean apply(WebDriver driver) {  
       Boolean result = false;  
       try {  
       //查找预期的空间是否生成
      driver.findElements(By.xpath("/html/body/div[20]/div[7]/label/input")) ;
           result = true;  
       } catch(Exception e){         
       }  
       return result;  
   }  
});  

       上面的代码WebDriverWait类的构造方法接受了一个WebDriver对象和一个等待最长时间(10秒)。然后调用until方法,其中重写了 ExpectedCondition接口中的apply方法,让其返回一个WebElement,即加载完成的元素,然后点击。默认情况下,WebDriverWait500毫秒调用一次ExpectedCondition,直到有成功的返回,当然如果超过设定的值还没有成功的返回,将抛出异常。


注 :还可以通过 driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);设置超时时间。建议使用上面这一种。

TAG: AJAX异步加载 webdriver WebDriver

 

评分:0

我来说两句

Open Toolbar