软件测试笔记|web自动化测试|什么是显式等待?

在 Selenium 中,显式等待是一种等待特定条件发生的机制。与隐式等待不同,显式等待只在需要的时候应用,并且可以针对特定的元素或条件进行等待。

 

显式等待通过不断地检查某个条件是否满足,直到超时时间到达或者条件满足为止。如果条件在超时时间内满足,测试将继续执行;如果条件在超时时间内未满足,将抛出一个异常。

 

以下是一个使用显式等待的示例:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.get("https://example.com")

# 等待直到元素可见
element = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "myElement")))

# 对元素进行操作
print(element.text)

driver.quit()


在上面的例子中,WebDriverWait类接受一个 WebDriver 实例和超时时间作为参数。until方法接受一个条件作为参数,这里使用了 EC.visibility_of_element_located条件来等待一个特定 ID 的元素变为可见。

 

显式等待可以使用的条件有很多,例如:

• EC.presence_of_element_located:等待元素出现在页面上,不一定可见。

• EC.element_to_be_clickable:等待元素变为可点击状态。

• EC.title_contains:等待页面标题包含特定的文本。

• EC.text_to_be_present_in_element:等待特定的文本出现在指定的元素中。

 

显式等待的优点是可以更加灵活地控制等待时间和条件,适用于那些需要等待特定元素出现或特定条件满足的场景。但需要注意的是,设置合理的超时时间很重要,过长的超时时间可能会导致测试执行时间过长,而过短的超时时间可能会导致等待失败。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

阳哥整理软件测试笔记

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

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

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

打赏作者

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

抵扣说明:

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

余额充值