Appium等待方式

Posted guoke1001

tags:

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

Apiium等待的几种方式

Appium的等待方式一般有三种,隐式等待,休眠等待,显式等待 ,下面分别来看看

1、隐式等待

  •  self.driver.implicitly_wait(IMPLICITLY_WAIT_TIME),全局等待,参数是秒,隐式等待一旦设置,就贯穿整个WebDriver的生命周期
  • implicitly_wait会在每个元素查找的时候都等待设置的时长,到达时长后找不到元素会抛出找不到元素的异常
  • implicitly_wait会影响脚本的执行速度

2、休眠等待

  • sleep:from time import sleep,参数是秒,可穿插在代码中,使用此函数后程序会暂停指定的秒数,等待之前的方法执行完毕

一般不建议使用,影响代码的观赏性,sleep在等待元素加载时也不会智能的判断元素是否加载完成

3、显式等待 WebDriverWait

  • from selenium.webdriver.support import expected_conditions
  • from selenium.webdriver.support.wait import WebDriverWait
  • WebDriver(driver,timeout,poll_frequency=0.5).until(expected_conditions.visibility_of_element_located(*locator))
  • driver传入的WebDriver实例即我们代码中用的driver,timeout等待时长,poll_frequency执行until或until_not的时间间隔,默认0.5,locator需要等待的元素一般以元组的形式传入,如(By.XPATH,"//*[@text=\'xxxxx\']")
  • 显式等待会在指定的时间内检索查找,一旦找到元素就立即执行返回,不需要等待时间执行完,如果规定时间内没有检索到就报找不到元素异常

4、until和until_not以及expected_conditions的方法

  • until是等待元素出现或其他什么操作,until_not正好是相反
  • expected_conditions的方法如下图,通常都是使用visibility_of_element_located判断元素是否显

     

     

以上是关于Appium等待方式的主要内容,如果未能解决你的问题,请参考以下文章

appium中的等待方式使用

python+Appium自动化:元素等待时间

如何在开始和测试期间使用 Appium“等待活动”?

2018-09-21显示等待、隐式等待和强制等待的区别

selenium中的三种等待方式(显示等待WebDriverWait()隐式等待implicitly()强制等待sleep())---基于python

selenium强制等待,隐式等待,显式等待