Selenium3.141+java的三种等待方式

1.强制等待
time.sleep(3000)
强制等待3秒后,进行下一步操作

缺点:不能准确把握需要等待的时间(有时候操作未完成,等待就结束了,导致报错;有时候操作已经完成了,但时间还没到,浪费时间),如果再用例中大量使用,会浪费不必要的等待时间,影响用例的执行效率。

优点:使用简单,可以在调试时使用。

2.隐式等待
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
在10秒内,页面加载完成,进行下一步操作

缺点:使用隐式等待,程序会一直等待页面加载完成,才会执行下一步操作(有时候页面想要的元素早已加载完成了,但是页面上个别元素还没有加载完成,仍要等待页面全部完成才能执行下一步,使用 也不是很灵活)

优点:隐式等待对整个driver的周期都起作用,所以只要设置一次即可

3.显式等待
WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.presenceOfElementLocated(By.id(“u”)));
只有满足显式等待的条件满足(这里是满足页面出现id=u的元素),测试代码才会继续向后执行后续的测试逻辑,如果超过设定的最大显式等待时间阈值, 这测试程序会抛出异常。

缺点:使用相对比较复杂

优点:判断准确,不会浪费多余的等待时间,在用例中使用,可以提高执行效率

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值