码迷,mamicode.com
首页 > Web开发 > 详细

转:WebDriver(Selenium2) 处理可能存在的JS弹出框

时间:2014-10-10 13:28:54      阅读:309      评论:0      收藏:0      [点我收藏+]

标签:http   io   使用   ar   java   sp   div   art   on   

在自动化测试过程中,有些情况下我们会遇到一些潜在的Javascript弹出框。(即某些条件下才会出现,不是固定出现),然后如果当这种弹出框出现,我们没有加以处理,WebDriver将无法进行下一步的操作,并且会抛出NoAlertPresentException的异常(从2.16版本开始)。所以,使用以下方法可以处理潜在的1个alert(javascript弹出框)。 

Java代码  bubuko.com,布布扣
  1. public boolean dealPotentialAlert(WebDriver driver,boolean option) {  
  2.     boolean flag = false;  
  3.     try {  
  4.         Alert alert = driver.switchTo().alert();  
  5.         if (null == alert)  
  6.             throw new NoAlertPresentException();  
  7.         try {  
  8.             if (option) {  
  9.                 alert.accept();  
  10.                 System.out.println("Accept the alert: " + alert.getText());  
  11.             } else {  
  12.                 alert.dismiss();  
  13.                 System.out.println("Dismiss the alert: " + alert.getText());  
  14.             }  
  15.             flag = true;  
  16.         } catch (WebDriverException ex) {  
  17.             if (ex.getMessage().startsWith("Could not find"))  
  18.                 System.out.println("There is no alert appear!");  
  19.             else  
  20.                 throw ex;  
  21.         }  
  22.     } catch (NoAlertPresentException e) {  
  23.         System.out.println("There is no alert appear!");  
  24.     }  
  25.     return flag;  
  26. }  


方法返回值为,调用出是否出现了alert。 
参数列表中第二个参数option为期望对alert的处理方式(true:ok/false:cancle) 
在selenium2.20及以上版本中,增加了alertIsPresent方法。 也可以将这个方法替换上面的内容。用于捕获alert。

转:WebDriver(Selenium2) 处理可能存在的JS弹出框

标签:http   io   使用   ar   java   sp   div   art   on   

原文地址:http://www.cnblogs.com/lci05/p/4015319.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!