web自动化测试的三种等待方式
自动化测试的三种等待方式
隐式等待
-
关键方法 通过driver对象调用implicitly_wait()方法 设置超时时间 作用 在设置了超时时间里,后续的所有元素定位方法都会在这个时间内等待元素的出现。 他会等待页面全部加载完进行定位我们需要的元素,会浪费不必要的时间 如果元素出现了,直接进行下一步操作 如果没有出现,报错 NoSuchElementException
显式等等
-
关键方法 关键字:WebDriverWait 方法:WebDriverWait对象的until方法 作用 在设置了显式等待之后,可以等待一个超时时间,在这个超时时间之内进行查找,默认0.5s找一次(频率可以设置) -无须等待页面全部加载完毕,只要 找到这个元素,就会直接进行后续操作 没有找到,报错 TimeOutException
强制等待
-
sleep 能做元素的等待,可以调试的时候看结果,真正用的时候不推荐,会造成时间上的浪费
怎么选择隐式和显式等待呢
-
现在代码底层都会封装,所以不存在哪种写起来方便的问题,一次封装,就解决了这个问题 显式等待,可以针对每一个元素进行单独的设置 隐式等待,针对全局的元素定位
def web_el_wait(self, locate_type, value): return WebDriverWait(self.driver, 10, 0.5).until( lambda el:self.locate(locate_type, value), message=元素查找失败 )
上一篇:
通过多线程提高代码的执行效率例子
下一篇:
C语言学习路线!小白必看的入门进阶路线!