03-06 APP-UI自动化测试-等待方式

与 Web 自动化测试类似。
强制等待(不推荐)
time.sleep()
隐式等待(全局性)
【03-06 APP-UI自动化测试-等待方式】设置一个超时时间,服务端 appium 会在指定的时间内,不停的查找,默认的时间值是 0
在服务端等待
用法:
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS)
建议在 setup() 方法中加上
注意:隐式等待仅对 查找元素 find_element() 方法生效,需要搭配显式等待使用
显式等待(等待指定元素)
在客户端等待,可以等待动态加载的 ajax 元素;
页面上元素一般出现的先后顺序

  1. title
  2. dom 树出现,但 presence 还不完整
  3. css 出现,表示可见 visibility
  4. js 出现,代表相关的 js 响应事件可执行(例如可点击 clickable)
HTML 文档时自上而下加载的
js 文件加载会阻塞 HTML 内容的加载,有些需要用到 js 异步加载的方式来完成 js 的加载
样式表下载完成之后,会与之前的样式表一起进行解析,从而对之前的元素重新渲染
相关模块:
  • WebDriverWait()
  • unitil()
  • expected_conditions

    推荐阅读