软件测试笔记|web自动化测试|显式等待和隐式等待的区别是什么?

显式等待和隐式等待都是在自动化测试中用于等待页面元素加载或特定条件满足的机制,但它们有以下区别:

一、定义和实现方式

隐式等待:

• 定义:隐式等待是一种全局设置,告诉 WebDriver 在尝试查找任何元素时,如果没有立即找到,就等待一段时间。

• 实现方式:通过在代码中设置一次隐式等待时间,例如使用 Python 的 Selenium 库时,可以这样设置隐式等待:driver.implicitly_wait(10),这里设置了等待时间为 10 秒。这意味着在后续的所有元素查找操作中,如果元素没有立即出现,WebDriver 将在 10 秒内不断轮询页面,直到找到元素或者超时。

显式等待:

• 定义:显式等待是针对特定条件进行等待,它明确指定要等待的条件和最长等待时间。只有当特定条件满足时,代码才会继续执行。

• 实现方式:需要使用特定的等待方法和预期条件来实现。例如在 Python 的 Selenium 中,可以这样设置显式等待:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, 'element_id')))
这里创建了一个显式等待实例,等待最长时间为 10 秒,直到特定元素出现。

二、等待条件

隐式等待:

• 只考虑时间因素,等待固定的一段时间让页面加载元素。不针对特定元素或特定条件,只要在等待时间内元素出现,就认为页面加载完成。

显式等待:

• 可以根据各种特定条件进行等待,如元素的存在、可见性、可点击性、文本的变化等。例如,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阳哥整理软件测试笔记

博文不易,打赏让创作更有动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值