appium元素等待(1)

Appium元素等待(1)

在自动化过程中,受网络环境、设备性能等等原因影响,元素加载成功展示的时间可能不一致,从而导致元素定位超时未成功定位到而报错,但是实际上元素是正常的,只是加载时间不一致而已。

元素等待有三种:强制等待、隐式等待、显示等待

强制等待:

使用方法sleep

语法:

步骤1:导入方法

步骤2:输入等待时长,默认以秒为单位

隐式等待:

针对所有元素来设置等待的时间,直接引用implicitly()即可

语法:直接输入脚本driver.implicitly(5)  #数字是等到超时时间,默认以秒为单位

显示等待:

针对某个元素来设置等待的时间、

语法:

步骤1:导入webdriver模块

步骤2:输入等待时长,默认以 秒为单位

详细格式:

WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)

说明:

  1. driver - WebDriver 的驱动程序(Ie, Firefox, Chrome 或远程)
  2. timeout - 最长超时时间,默认以秒为单位
  3. poll_frequency - 休眠时间的间隔(步长)时间,默认为 0.5 秒
  4. ignored_exceptions - 超时后的异常信息,默认情况下抛 NoSuchElementException 异常。

其他:

WebDriverWai()一般由 until()或 until_not()方法配合使用,下面是 until()和 until_not()方法的说明。

until(method, message=’’)

调用该方法提供的驱动程序作为一个参数,直到返回值不为 False。

until_not(method, message=’’)

调用该方法提供的驱动程序作为一个参数,直到返回值为 False。

lambda

lambda 提供了一个运行时动态创建函数的方法。

示例:

Lambda函数简要说明:

Lambda函数是匿名的,所谓匿名函数,通俗的说是没有名字的函数

冒号左侧是参数,多个参数则使用逗号隔开

冒号右侧是返回值

例如:

Lambda x,y:x*y     函数的输入是X,Y;输出是x*y

猜你喜欢

转载自blog.csdn.net/Teamo_mc/article/details/81239544