本文主要内容是介绍web自动化中三种等待方式
selinium中常用的三种等待方式
一. web 自动化中为什么需要等待
在实际的自动化实现过程中,都会添加等待来完善自动化测试的代码。
自动化测试是用来提升测试效率的,这意味着自动化测试脚本执行起来每一次都需要有很高的成功率,才可以起到提高效率的作用。
那如果因为页面加载速度慢,导致元素无法找到而报错,就会导致测试失败。
通过添加等待的方法,让代码在运行时,进行等待页面加载的操作,就可以更好的保证成功率。
延伸》》网页的两种加载方式
异步加载: 主流
同步加载
二. 如何实现等待
1. 强制等待
强制等待也是最简单的一种办法, time.sleep(x)
强制让浏览器等待x秒,不管当前操作是否完成,是否可以进行下一步操作,都必须等X秒
优点:
使用简单,可以在调试时使用
缺点:
1. 不能准确把握需要等待的时间,等待的太短操作未完成导致报错;有时候操作已经完成了还在等待,浪费时间
2. 如果在用例中大量使用,会浪费不必要的等待时间,影响测试用例的执行效率
2. 隐式等待
隐式等待的方法设置了一个最长等待时间,在规定时间内网页加载完成则执行下一步,否则一直等到时间结束,然后执行下一步操作。
使用方法:
driver.implicitly_wait(10) # 在10 秒内,页面加载完成,就会停止等待