UI自动化之等待

本文详细介绍了网页自动化测试中两种重要的等待技术:显式等待和隐式等待。显式等待针对特定元素,设置等待时间,确保元素出现后再执行操作,适合元素加载有延迟的场景。而隐式等待则是全局设置,等待整个页面加载完成,适用于整个页面加载的等待。此外,还提及了固定时间等待的使用,但建议尽量避免以减少脚本运行时间。理解并正确使用这两种等待方式对于提高自动化测试效率至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.显式等待

element = WebDriverWait(driver,5,0.5).until(EC.presence_of_element_located(By.ID,‘kw’))
element.sendkeys("xxx")

说明:显示等待是单独针对某个元素,设置一个等待时间如5秒,每隔0.5秒检查一次是否出现,如果在5秒之前任何时候出现,则继续向下,超过5秒尚未出现则抛异常。显示等待与隐式等待相对,显示等待必须在每个需要等待的元素前面进行声明。

使用场景:当打开一个新页面,执行第一个元素操作的时候;当某一步操作会引发页面的加载,并且加载的内容包含了下一步需要操作的元素。一句话,就是当某个元素有加载过程的时候,就需要加上显示等待。

2.隐式等待

driver.implicitly_wait(10)

整个driver周期有效,也可以说是driver对象的等待,直到driver对象加载完成,也就是网页加载完成,即所有的的页面元素加载完成,则执行下一步,从写法上来和显式等待区分,这里面并没有对应的元素,所以是用来进行全局等待,判断页面是否加载完成。也就是一般情况下你看到浏览器标签栏那个小圈不再转,才会执行下一步,但有时候页面想要的元素早就在加载完成了,但是因为个别js之类的东西特别慢,我仍得等到页面全部完成才能执行下一步。

3.等待

time.sleep(3)

用以设置固定的线程休眠时间(s),使得整个脚本暂停。但是这种方式会导致这个脚本运行时间过长,不到万不得已尽可能少用,特殊情况下,时间设置最好不超过1秒,一般0.5秒

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值