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(三)等待方式

相关推荐