zoukankan      html  css  js  c++  java
  • selenium中Alter等弹出对话框的处理

    昨天使用selenium做自动化测试,发现部分页面会弹出alert对话框,找了写资料,大概的意思就是要给弹出的对话框做出相应,不然,后续的处理会失败。

    _driver.SwitchTo().Alert() 这样就可以把当前的handle转到到弹出框,可以进行下一步的处理,如accept,dimsiss ,text等属性,就可以弹出框做处理了。

    把代码修改,测试了一下,代码可以执行通过了,欢天喜地的回家了,今天来了之后发现,把测试用例整体跑一下,发现很多testcase 发现出错了。出错了开始找问题,

    根据提示no alert open 。既然是没有open,在accept,肯定出错啊,就先加个对象不等null的验证。面向对象第一要务是判断对象是否为空啊。面向对象,没对象没办啊。

    吃过饭,又测试了一下,还需要加个扩展放方法,判断是否弹出框出现,有弹出框出现,继续处理。没有的话,就直接跳过。

    /// <summary>
    /// 判断是否弹框出现
    /// </summary>
    /// <param name="driver"></param>
    /// <returns></returns>
    public static bool IsAlertPresent(this IWebDriver driver)
    {
    try
    {
    driver.SwitchTo().Alert();
    return true;
    } // try
    catch (NoAlertPresentException Ex)
    {
    return false;
    } // catch
    }

    使用  if(_driver.IsAlertPresent){

     driver.SwitchTo().Alert().Accept;

    }

  • 相关阅读:
    POJ 3281 /// 最大流
    POJ Evacuation /// 二分图最大匹配
    POJ 3041 /// 二分图匹配
    Codeforces Round #526 D
    Codeforces Round #526 C
    2018ICPC焦作 F. Honeycomb /// BFS
    2018ICPC焦作 D-Keiichi Tsuchiya the Drift King /// 几何
    Codeforces Round #525 E
    哈理工赛 H-小乐乐学数学 /// 筛法得素数表+树状数组
    Codeforces Round #525 D
  • 原文地址:https://www.cnblogs.com/wcLT/p/3413963.html
Copyright © 2011-2022 走看看