本文引用自霍格沃兹测试开发学社录播课《Appium原理》
面试官问: 显式等待与隐式等待的区别?与强制等待的方式分别是什么,有什么区别?
面试官的考察点:
在写自动化测试脚本的过程中,是否熟练掌握了三种等待的使用方式与使用场景?何时用显式等待?何时用隐式等待?
关联技术点
- 《强制等待与隐式等待》:三种等待的基本使用与原理。
- 《显式等待高级使用》:显式等待的条件封装
答题思路:
三种等待方式分别是什么,有什么区别?显式等待与隐式等待的区别?需要分别从使用方式、原理、适用场景进行总结
类型 | 使用方式 | 原理 | 适用场景 |
---|---|---|---|
直接等待 | time.sleep(等待时间)) |
强制线程等待 | 调试代码,临时性添加 |
隐式等待 | driver.implicitly_wait(等待时间) |
在时间范围内,轮询查找元素 | 解决找不到元素问题,无法解决交互问题 |
显式等待 | WebDriverWait(driver实例, 最长等待时间, 轮询时间).until(结束条件) |
设定特定的等待条件,轮询操作 | 解决特定条件下的等待问题,比如点击等交互性行为 |