airtest常用方法

常用方法集

  1. touch()

touch(v, times=1,duration=0.01,right_click=False):点击

v:截图对象-图片 或者坐标(x,y) 通过框选按钮来获取v的值 此(x,y)类似(1024,768)的坐标值

times:点击次数

duration:点击持续时间

right_click:如果是windows平台,则=True表示鼠标右键点击,Android/IOS无用

【注意】:

1.times和duration可以组合使用,表示点击times次,每次间隔duration秒,这就可以实现双击效果:duration=0.01 times=2

2.使用方式:点击方法后,在右边设备窗口设备界面上扩选要操作的对象就可以;
如:点击屏幕中间可以使用以下两句完成:
w,h=device().get_current_resolution() #获取手机分辨率
touch([0.5*w, 0.5*h])
  1. wait()

wait(v, timeout=None, interval=0.5, intervalfunc=None):等待

v:截图对象-图片 或者坐标(x,y) 通过框选按钮来获取v的值 此(x,y)类似(1024,768)的坐标值

timeout:等待超时时间,默认None,可为指定超时时间或拿取到的ST.FIND_TIMEOUT全局变量值

interval:尝试查找匹配项的时间间隔,即间隔interval秒去查找下指定v对象

intervalfunc:每次尝试查找匹配项失败后调用的方法名

返回:匹配的对象的坐标,此pos类似(1024,768)的坐标值

方法含义:一直间隔interval秒去查找指定的v对象,直到时间超过timeout后未找到就报TargetNotFoundError错误,期间如果每次的间隔查找遇到错误就调用intervalfunc方法
  1. swipe()

swipe(v1, v2=None, vector=None, duration=0.01):滑动

v1:截图对象-图片 或者坐标(x,y) 此(x,y)类似(1024,768)的坐标值

v2:截图对象-图片 或者坐标(x,y) 从v1滑动到v2 优先级高于vector

vector:[x,y]录制时自动生成,记录滑动比例,向右边:x正值,向下边:y正值;向左边:x复制;向上边:y负值

duration:滑动的持续时间。默认0.01。即在duration秒内滑动结束

steps:滑动步进。默认5步。即滑动几次。

方法含义:从v1 经历steps步滑动到v2,且期间总持续duration秒,相当于每步是duration/steps 秒。如果没有v2值则滑动的方向依赖于vector的坐标点为终点

如:
上滑:poco.swipe([0.5, 0.5], [0.5, 0.3], duration=2.0)
下滑:poco.swipe([0.5, 0.3], [0.5, 0.5], duration=2.0)
先获取屏幕比例再滑动
W,H=poco.get_screen_size()
swipe((W0.3,H0.3),(W0.3,H0.8),duration=0.1)

  1. exists()

exists(v):元素判断

v:截图对象 -图片 或者坐标(x,y) 此(x,y)类似(1024,768)的坐标值

返回值:未找到v返回False,找到后返回v的pos,此pos类似(1024,768)的坐标值
  1. text()

text(text, enter=True, search=False):输入文本

text:输入文本  必须是当前控件被激活状态

enter:输入后自动执行回车,默认True,=False不执行回车

search:输入后强制执行search,默认False,针对android的yosemite_ime输入类型,软键盘有搜索按钮的
  1. keyevent(keyname):键盘事件

    keyname:按键名

    注意:Android和ios键盘事件时有区别的,对于-delete删除键,android、win通用。而ios目前只支持home事件

具体键盘事件值,请参照另一篇文章:

https://mp.weixin.qq.com/s/-8zgSgYTJ6YZkUnwS_YqYw
点击系统返回键:keyevent("KEYCODE_BACK")
  1. snapshot(filename=None, msg=""):截图

    filename:保存截图的文件名

    msg:描述测试点,传值后在html报告中显示

    返回:截图后保存的文件名

  2. sleep(secs=1.0)

    secs:延迟时间,默认1.0秒

  3. assert_exists(v, msg="")

    v:图片 或者坐标(x,y) 通过框选按钮来获取v的值。(x,y)类似(1024,768)的坐标值

    msg:测试点描述,传值后在html报告中显示

    返回:找到v就返回v的坐标,类似(1024,769),未找到就raise AssertionError

10.0 assert_not_exists(v, msg="")

v:图片 或者坐标(x,y) 通过框选按钮来获取v的值。(x,y)类似(1024,768)的坐标值

msg:测试点描述,传值后在html报告中显示

返回:None 如果断言失败就raise AssertionError

11 assert_equal(first, second, msg="")

first:第一个对比项,图片 或者坐标(x,y) 通过框选按钮来获取v的值 此(x,y)类似(1024,768)的坐标值

second:第二个对比项,图片 或者坐标(x,y) 通过框选按钮来获取v的值 此(x,y)类似(1024,768)的坐标值

msg:测试点描述,传值后在html报告中显示

返回:None 如果断言失败就raise AssertionError

12 assert_not_equal(first, second, msg="")

first:第一个对比项,图片 通过框选按钮来获取first的值

second:第二个对比项,图片 通过框选按钮来获second的值

msg:测试点描述,传值后在html报告中显示

返回:None 如果断言失败就raise AssertionError
13.判断是否存在,存在则点击:

b1 = poco(text=‘先不用了’)
if b1.exists():
poco(text=‘先不用了’).click()
assert_equal(poco(text = “Cooling completed”).exists(),True, ‘降温结果页’)

你可能感兴趣的:(笔记)