Selenium的 WebDriverWait 研究
发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,在运行automation时候,经常会遇到的问题是,页面的元素加载需要时间,而这个时间是不确定的,但是你的执行是一直在一步步往下走,如果实际页面等待时间过长导致某个dom元素还没出来,但是你的代码直接
千家信息网最后更新 2025年02月04日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安全错误
数据库的锁怎样保障安全
app提示服务器正忙
上海晓通网络技术有限公司
调查队网络安全动态
网络安全破坏军事
中国台湾软件开发哪家好
阿拉善盟网络安全应急指挥中心
邓州市辰轩网络技术有限公司
网络安全工作服
滨州oa办公软件开发联系方式
c 修改数据库
绝地服务器选择
数据库原理 上机
唐山市bim软件开发工程
软件开发毕业后的职业
基本的数据库管理系统
交换机网络技术指标
计网网络技术英文
人大监督联网软件开发
服务器网页管理文件大小
sql数据库查询当前时间
智联蜗牛广东网络技术有限公司
购物平台软件开发流程方案
数据库服务器用的是什么
有什么好听的服务器id
想学网络技术去哪里
精锐教育软件开发部门怎么样
hp服务器阵列配置
怎么把字节数组存到数据库
sql怎么写数据库
成为一名软件开发工程师