当前位置: 首页 > news >正文

Airtest常用API介绍

今天就继续给大家介绍一下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)), "断言存在")

最后作为一位过来人也是希望大家少走一些弯路,在这里我给大家分享一些软件测试的学习资料和我花了3个月整理的软件测试自学站,这些资料希望能给你前进的路上带来帮助。

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

http://www.jsqmd.com/news/139477/

相关文章:

  • 2025洒水车厂家推荐排行榜:湖北佰亚产能与专利双领先,恒达环保认证强 - 爱采购寻源宝典
  • 2025螺栓厂家推荐排行榜:从产能到质量双维度解析铂迈与群奥优势 - 爱采购寻源宝典
  • 阅读笔记10
  • fiddler的基本内容
  • http:HyperText Transfer Protoc的作用
  • 2025超声波热量表厂家推荐排行榜:从产能到专利的权威对比 - 爱采购寻源宝典
  • 科研常用工具
  • 2025冷库厂家综合实力排名TOP5:从产能到服务的全方位对比 - 爱采购寻源宝典
  • 用男性思维谈恋爱,爽到飞起谁懂啊
  • Java毕设项目推荐-基于Java的个人健康信息智慧管理系统的设计与实现基于java的个人健康管理系统的设计与实现【附源码+文档,调试定制服务】
  • 在Ubuntu中让独显进入D3 cold模式
  • 知从青龙队列刷写方案介绍
  • 奶奶辈微信昵称天花板[特殊字符],亲切又洋气!
  • 为精密系统甄选动力核心:微型磁力泵国产化替代厂家推荐 - 品牌2025
  • 2025文化石厂家推荐排行榜:河北若艺产能领先,内丘博艺专利突出 - 爱采购寻源宝典
  • 句句都不黄,[特殊字符]句句都很撩(贼上头)
  • 昇思MindSpore引领AI框架迈入“超节点时代”
  • 男人的通病,你越这样,他反而越爱你
  • 迈向自主可控:微型磁力齿轮泵进口替代趋势与优质厂家推荐 - 品牌2025
  • 磁驱革命:微型磁力齿轮泵替代进口优选厂家推荐 - 品牌2025
  • 工商注册服务哪家强?德宣知财税脱颖而出
  • 【计算机毕业设计案例】基于java+vue的个人健康管理系统的设计与实现(程序+文档+讲解+定制)
  • 计算机Java毕设实战-基于java的个人健康管理系统的设计与实现上传体检报告、记录每日体征数据饮食运动计划【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 浅谈银行系统对接中的不可思议
  • 赋能高端制造:微型磁力齿轮泵进口替代厂家精选指南 - 品牌2025
  • 公司注册服务推荐:靠谱之选不迷路
  • 2025 过滤器厂家推荐排行榜:从产能到专利的权威实力比拼 - 爱采购寻源宝典
  • 2025最新:免费降AIGC的5款神器推荐(附真实测评数据)
  • 【计算机毕业设计案例】基于SpringBoot + Vue的图书馆管理系统基于springboot的图书管理系统(程序+文档+讲解+定制)