网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Selenium的WebDriverWait研究

在运行automation时候,经常会遇到的问题是,页面的元素加载需要时间,而这个时间是不确定的,但是你的执行是一直在一步步往下走,如果实际页面等待时间过长导致某个dom元素还没出来,但是你的代码直接使用了这个WebElement,那么就会抛出NullPointer的异常。

云南ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联建站的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

为了解决这种问题,尤其是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是强制用户输入的,如果用户不输入,就有个红色框框:

Selenium的 WebDriverWait 研究

然后这个红色的框框的样式包含x-form-invalid-field,如下图:

Selenium的 WebDriverWait 研究

所以现在十分清楚了,我们的目的就是在运行automation testcase时候让这个红色框框消失。


网页标题:Selenium的WebDriverWait研究
文章起源:http://bjjierui.cn/article/jpdspc.html

其他资讯