zoukankan      html  css  js  c++  java
  • 转:WebDriver(Selenium2) 处理可能存在的JS弹出框

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

    Java代码  收藏代码
    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。

  • 相关阅读:
    UpdateBatch到底是怎么用的?
    进度条在.net导入Excel时的应用实例
    asp.net页面触发事件panel滚动条高度不变的实现方法
    .NET中的枚举用法浅析
    .NET程序调试技巧(一):快速定位异常的一些方法
    ASP.NET实现推送文件到浏览器的方法
    微软官方SqlHelper类 数据库辅助操作类
    Asp.net中使用文本框的值动态生成控件的方法
    ASP.NET中Dictionary基本用法实例分析
    ASP.NET动态增加HTML元素的方法实例小结
  • 原文地址:https://www.cnblogs.com/lci05/p/4015319.html
Copyright © 2011-2022 走看看