【UI自动化】隐式等待与显式等待的区别

 隐式等待;智能等待:好处是效率比较死等高
1、隐式等待是一种智能等待,他可以规定在查找元素时,在指定时间内不断查找元素
如果找到则代码继续执行,直到超时没找到元素才会报错,也就是说如果在第三秒找到元素,则剩下的7秒不会被等待
2、隐式等待是一个全局性等待,一旦设置则针对设置以后的所有findElement方法生效,仅仅针对查找元素生效
每一个findElement方法都是重新计时,都是10秒
3、可以随时更改隐式等待,更改后针对他以后的所有findElement方法生效
4、当隐式等待不生效的时候,可以用死等代替
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);


显式等待
1、显示等待也是一种智能等待,在指定超时时间范围内只要满足操作的条件就会继续执行后续代码
如果不满足条件则会一直等到超时
2、显示等待可以自定义显示等待的条件
3、显示等待是针对单一元素或者一组元素生效
WebDriverWait wait =new WebDriverWait(driver,10);//显式等待的对象创建
wait.until(new ExpectedCondition(){//直到满足这个新的条件
@Override
public Boolean apply(WebDriver input) {//自动生成一个匿名类
// 这个新的条件是从获取到的页面资源中是否包含hhhtest1,欢迎来到信息
return input.getPageSource().contains(“hhhtest1,欢迎来到”);
}
});
//显示等待针对一组元素生效
WebDriverWait wait = new WebDriverWait(driver,10);
List titles = wait.until(ExpectedConditions.presenceOfAllElementsLocatedBy(By.cssSelector(".am-text-truncate-2.goods-title")));



隐式等待和显示等待的区别:
1、隐式等待是全局的,可以随时更改的,显示等待是针对单一元素或者一组元素的
2、隐式等待只能针对元素查找方法,显示等待可以自定义等待条件

————————————————


原文链接:https://blog.csdn.net/weixin_45103552/article/details/118198427

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值