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;
}
最新文章
- MVC中的Html.Partial和Html.RenderPartial
- 根据键盘调整textField(多个)位置使其不会被键盘挡住
- PHP函数 rtrim() 的一个怪异现象
- 将XmlDocument转换成XDocument
- Java API —— Map接口
- Android使用HttpClient方法和易错问题
- Arduino 各种模块篇 光敏感应模块 light sensor
- POJ 1062	昂贵的聘礼详解最短路变形
- 悬挂else引发的问题
- htm语言的语法基础及规则
- python 抓取金融数据,pandas进行数据分析并可视化系列 (一)
- 常用SQL语句集合
- jdk源码阅读笔记-HashSet
- 又到毕业季,尚学堂喊你免费领取100个Java毕设项目(含源码视频),限时一周哦!
- 【Spark调优】提交job资源参数调优
- 二叉树的简单操作(Binary Tree)
- JavsScript学习---快速排序
- IntelliJ IDEA小问题通过操作软件解决
- C++与C语言在结构体上的区别
- Web下文件上传下载的路径问题