软件测试学习笔记丨显式等待的高级使用
本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/30793
一、显式等待高级使用
1.1 简介
在 Web 自动化测试中,显式等待机制是一种关键的技术,用于等待特定的条件在页面加载、元素渲染或页面跳转等过程中为真(满足条件)后再执行后续操作,以确保测试脚本的可靠性和稳定性。
显式等待通过不断轮询等待条件,定期检查条件是否满足,以及设置最大等待时间来实现等待页面元素或事件的机制。这样可以确保测试脚本在页面加载或异步操作完成后再进行交互。
1.2 显式等待的关键概念
最长等待时间(Timeout) :指在等待过程中所允许的最大等待时间,通常以秒为单位,如果最长等待时间内条件不满足,等待操作将被中断并引发 TimeoutException 异常。
轮询时间:指在等待过程中,等待器会周期性地检查条件是否满足的时间间隔。它用于反复检查条件函数,以确保等待器能够及时响应。
WebDriverWait 类:在 Selenium 中,WebDriverWait 是用于实现显式等待的类。它需要传递 WebDriver 实例、最长等待时间和轮询时间作为参数,并提供了 until 方法来等待特定条件的出现。
结束条件函数:结束条件函数是用于检查特定条件是否满足的函数。它通常使用 expected_conditions 模块中的方法来定义,如等待元素可见、元素可被选中等。当结束条件函数返回 True 时,等待结束。
1.3 显式等待原理
在代码中定义等待一定条件发生后再进一步执行代码;
在最长等待时间内循环执行结束条件的函数
WebDriverWait(driver 实例,最长等待时间,轮询时间).util(结束条件函数)
二、expected_conditions
Selenium 官网提供了显式等待详细说明文档,其中包括了各种内置的等待条件函数及其使用方法。在编写测试用例时,根据实际需要选择合适的等待条件函数。
演示网站:https://vip.ceshiren.com/#/ui_studyui_study 是 web 自动化练习网站,可模拟各种前端应用场景。
三、常见 expected_conditions
四、封装等待条件
官方的 excepted_conditions 不可能覆盖所有场景;
定制封装条件会更加灵活、可控。
软件测试开发免费视频教程分享
版权声明: 本文为 InfoQ 作者【测试人】的原创文章。
原文链接:【http://xie.infoq.cn/article/d12d0f04aa3f0427c5465eaf4】。文章转载请联系作者。
评论