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='元素查找失败'
        )
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值