Selenium的 WebDriverWait 研究
发表于:2024-10-07 作者:千家信息网编辑
千家信息网最后更新 2024年10月07日,在运行automation时候,经常会遇到的问题是,页面的元素加载需要时间,而这个时间是不确定的,但是你的执行是一直在一步步往下走,如果实际页面等待时间过长导致某个dom元素还没出来,但是你的代码直接
千家信息网最后更新 2024年10月07日Selenium的 WebDriverWait 研究
在运行automation时候,经常会遇到的问题是,页面的元素加载需要时间,而这个时间是不确定的,但是你的执行是一直在一步步往下走,如果实际页面等待时间过长导致某个dom元素还没出来,但是你的代码直接使用了这个WebElement,那么就会抛出NullPointer的异常。
为了解决这种问题,尤其是RemoteWebDriver(不确定因素更多的情况) ,我们就需要用很高级的WebDriverWait的功能。
简而言之,这个WebDriverWait就是等待到某个条件的满足之下然后再继续往下走。
贴上样例代码:
WebDriverWait wait = new WebDriverWait(getWebDriver(), 3); wait.until(new ExpectedCondition() { public Boolean apply(WebDriver webDriver) { return !justification.getAttribute("class").contains("x-form-invalid-field"); } });
这段代码是干什么呢,它是说,默认让webDriver最多等3秒,直到页面上叫justification的WebElement元素的样式不包含x-form-invalid-field.
分析:
这是什么意思呢?很简单,因为我们的页面上每个字段都加了js表单验证,如果这个页面上的元素输入错误,就会有一个红色的框框提示用户非法输入,这个红色框框的样式就是x-form-invalid-field,所以我们的作用就是等这个红色的框框消失,然后再进行下一步的操作。
如下图:
因为这个justification的WebElement是强制用户输入的,如果用户不输入,就有个红色框框:
然后这个红色的框框的样式包含x-form-invalid-field,如下图:
所以现在十分清楚了,我们的目的就是在运行automation testcase时候让这个红色框框消失。
框框
红色
页面
元素
就是
输入
代码
时间
样式
用户
时候
问题
运行
清楚
高级
作用
功能
因素
字段
实际
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发费用有哪
我的世界服务器麦C大道
西电网络技术
新冠期间网络安全
长沙同方服务器厂家供应
win软件开发用什么软件
网络安全应急指挥中心招标
江苏定制软件开发大全
宁夏固原软件开发
局域网游戏服务器多少钱
如何清空库存数据库
为什么数据库要加密
网络安全包括几个部分
外资流入数据库
巡察工作与网络安全
数据库relvar
debian邮件服务器
基于环境的数据库命名方案
杭州施云互联网科技
奥托立夫招聘嵌入式软件开发
云终端网络技术有限公司
合肥软件开发合同备案
网易分布式数据库多活架构
复古传奇怎么加入服务器
服务器云播
m1软件开发兼容性
对话网络安全培养计划
六年级上册网络安全教案
四川管理软件开发费用
邮局服务器ip