Airtest常用API介绍

2341 篇文章 33 订阅
1785 篇文章 17 订阅

在这里插入图片描述2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)

今天就继续给大家介绍一下Airtest框架常用的核心API用法,这也是熟悉使用Airtest框架的必备手册之一。

(一)官方文档

官方文档

https://airtest.doc.io.netease.com/IDEdocs/airtest_framework/1_airtest_api/

(二)核心API介绍

1.touch:点击

语法格式:touch(v,times, kwargs)

v:点击位置,可以是图片实例,也可以绝对坐标

times:点击次数,times默认是1

duration:按住时间,默认是0.01s

right_click:右键点击,仅限windows使用,默认值为False

# 1. 通过所截取的图片进行比对,比对成功,则点击
touch(Template(r"tpl1689155274882.png", record_pos=(-0.176, -0.306), resolution=(1080, 2400)))
# 2. 通过页面的绝对坐标点击,AirtestIDE设置中可开启绝对坐标和相对坐标查看
touch([1, 1])
# 点击2次
touch([1,1],times = 2)
# 按住2s
touch([1,1], duratio=2)

2.Template:图片实例

说明:虽然Template是touch()方法中的一个参数,但这个非常重要,涉及如何正确使用,以及如何提高图片识别率

图片

filename:是必填参数,就是图片路径,可以是相对路径或者绝对路径(如果使用AirtestIDE截图时会存在默认路径下)

threshold:图像识别的阈值,只有当图像识别结果的可信度大于阈值时,才算是找到图像识别的结果,阈值越高,对图像匹配的精确度就越高,若不添加该参数,该值默认为0.7,该值可设置的范围为0~1

target_pos:用于设置图像的点击位置,为1-9的整数,默认值为5(也就是图像的中心位置,1为左上角位置,9为右下角位置)

record_pos:计算坐标对应的中心点偏移值相较于设备分辨率的百分比,匹配时会优先匹配这附近的画面(如果使用AirtestIDE截图时会自动记录该参数值)

resolution:用于记录截图时的手机分辨率,也可以自己将分辨率填写到此处

rgb:是否强制使用彩色图像识别,该参数默认为False,Aitest会将图片转成灰度图片后才会进行图像识别,若是设置为True,则不会进行灰度化,一般适用于图片相似度极高,只是文字颜色有所区别,为了提高图像识别的精确度,可使用该参数

scale_max:是算法mstpl的专属参数,用于调节匹配的最大范围,默认值800, 取值范围 [700 , 2000],推荐值 740, 800, 1000

scale_step:算法mstpl的专属参数,用于控制搜索比例步长,它代表匹配时搜索的精细程度。进行图像匹配时,会在原始截图的一定缩放范围内以截图最长边 * scale_step 的步长进行搜索。默认值0.01,取值范围 [0.001, 0.1],推荐值 0.02, 0.005, 0.001

3.swipe:滑动

语法格式:swipe(v1,v2,vector,duration)

v1:滑动的起点,可以是一个图片实例,或是绝对坐标(x,y)

v2:滑动的终点,可以是一个图片实例,或者是绝对坐标(x,y)

vecotr:滑动动作的矢量坐标,可以是绝对坐标(x,y)或者是屏幕百分比

duration:在屏幕上滑动的时长,默认是0.5s

steps:滑动过程的步骤,默认是5

fingers:滑动的手指数量,1或者2,默认是1

swipe有2种传入参数的方式:

从v1滑动v2,swipe(v1,v2)

swipe((672,1214),(336,1305))

从v1开始滑动,沿着vector方向,swipe(v1,vector=(x,y))

swipe(Template(r"tpl1574067097045.png", record_pos=(0.042, 0.145), resolution=(1080, 1920)), vector=[-0.2666, -0.0005])

4.text:输入文本

语法格式:text(text,enter)

text:输入的文本

enter:是否在输入完毕后,执行一次enter,相当于keyevent(‘ENTER’),默认是True,如果仅是想输入文字,而不执行Enter,则可以传入False

search: Android设备特有的参数,是否要按下输入法键盘中的search键,默认为False,如果需要,则传入True即可

# 设置search:True
text('输入的文本', search=True)

备注:部分机型无法通过该方法输入,则可以通过adg shell input 命令方式输入

shell("input text 'hello world'")

5.keyevent:按键事件

应用场景:可以删除输入框内容、返回上一页,合理的使用keyevent()接口,在一些情况下会使得脚本的兼容性更好

语法格式:keyevent(keyname, **kwargs)

keyname:平台相关的按键名称

**kwargs:平台相关的参数

Android平台支持的按键事件

# 点击home键,平台
keyevent('HOME')
# 另外平台专门提供了一个home()方式,实现的效果一样
home()   # 相当于点击HOME键
# 点击back键
keyevent('BACK')
# 点击删除键
keyevent('KEYCOOE_DEL')

ios平台支持的按键事件

# iOS设备现在暂时 只支持 HOME 按键的keyevent
keyevent("HOME")

6.assert_exists:断言

说明:Airtest给我们提供了assert_exists和assert_not_exists两个接口,来断言一张图片存在或不存在于当前画面中。

语法格式:assert_exists(图片实例,msg)

图片实例:即是需要被断言的图片

msg:断言的描述,会被记录在报告中

assert_exists(Template(r"tpl1578970400453.png", record_pos=(-0.345, 0.142), resolution=(1080, 1920)), "断言存在")

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。在这里插入图片描述
在这里插入图片描述在这里插入图片描述

  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值