校招面试真题 | 显式等待与隐式等待的区别?与强制等待的方式分别是什么,有什么区别?

image

本文引用自霍格沃兹测试开发学社录播课《Appium原理》

面试官问: 显式等待与隐式等待的区别?与强制等待的方式分别是什么,有什么区别?

面试官的考察点:

在写自动化测试脚本的过程中,是否熟练掌握了三种等待的使用方式与使用场景?何时用显式等待?何时用隐式等待?

关联技术点

  • 《强制等待与隐式等待》:三种等待的基本使用与原理。
  • 《显式等待高级使用》:显式等待的条件封装

答题思路:

三种等待方式分别是什么,有什么区别?显式等待与隐式等待的区别?需要分别从使用方式、原理、适用场景进行总结

类型 使用方式 原理 适用场景
直接等待 time.sleep(等待时间)) 强制线程等待 调试代码,临时性添加
隐式等待 driver.implicitly_wait(等待时间) 在时间范围内,轮询查找元素 解决找不到元素问题,无法解决交互问题
显式等待 WebDriverWait(driver实例, 最长等待时间, 轮询时间).until(结束条件) 设定特定的等待条件,轮询操作 解决特定条件下的等待问题,比如点击等交互性行为