Airtest常用API介绍

2024-04-09 01:04
文章标签 介绍 api 常用 airtest

本文主要是介绍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)), "断言存在")
总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

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

 

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

这篇关于Airtest常用API介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/886822

相关文章

python判断文件是否存在常用的几种方式

《python判断文件是否存在常用的几种方式》在Python中我们在读写文件之前,首先要做的事情就是判断文件是否存在,否则很容易发生错误的情况,:本文主要介绍python判断文件是否存在常用的几种... 目录1. 使用 os.path.exists()2. 使用 os.path.isfile()3. 使用

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

Spring Security介绍及配置实现代码

《SpringSecurity介绍及配置实现代码》SpringSecurity是一个功能强大的Java安全框架,它提供了全面的安全认证(Authentication)和授权(Authorizatio... 目录简介Spring Security配置配置实现代码简介Spring Security是一个功能强

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现

JSR-107缓存规范介绍

《JSR-107缓存规范介绍》JSR是JavaSpecificationRequests的缩写,意思是Java规范提案,下面给大家介绍JSR-107缓存规范的相关知识,感兴趣的朋友一起看看吧... 目录1.什么是jsR-1072.应用调用缓存图示3.JSR-107规范使用4.Spring 缓存机制缓存是每一

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失