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

Posted Leofighting

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了03-06 APP-UI自动化测试-等待方式相关的知识,希望对你有一定的参考价值。

与 Web 自动化测试类似。

强制等待(不推荐)

time.sleep() 

隐式等待(全局性)

设置一个超时时间,服务端 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

以上是关于03-06 APP-UI自动化测试-等待方式的主要内容,如果未能解决你的问题,请参考以下文章

UI自动化测试中,Selenium的三种等待方式详解

Selenium中三种等待的使用方式

八Appium-python-UI自动化之记一次使用隐式等待:implicitly_wait()的坑

Selenium-三种等待方式

Selenium三种等待的使用方式

Selenium常用的三种等待方式