一、Airtest介绍
1、Airtest是一种基于Python语言、可以通过图像和poco控件识别的一款UI自动化测试工具。
2、它包括AirtestIDE、Airtest、Poco、AirLab等部分,有Poco、图像识别、selenuim三种大类库。
3、它适用于游戏、APP、web、Windows程序项目的自动化测试,可以实现自动化测试流程。
官方地址:欢迎使用 - Airtest Project Docs
二、Airtest特点
1、可以实时看到页面的动态,而且支持图像识别进行点击等操作,让自动化测试变得更加简单和直观。
2、支持自动化脚本录制、报告查看。
三、环境安装
1、安装python
2、安装AirtestIDE
下载地址:安装与启动 - Airtest Project Docs
下载完直接打开AirtestIDE.exe
四、Airtest界面介绍
AirtestIDE的主窗体,可分为工具栏、Airtest辅助窗、Poco辅助窗、脚本编辑框、Log查看窗、设备窗(移动设备连接、windows窗口连接、IOS设备连接)
1、工具栏
(1)文件:新建脚本、打开脚本、保存脚本、脚本另存、最近打开功能。
(2)运行:运行脚本、停止运行、打开报告目录
(3)Firebase:包含打包测试APK和打包多个脚本; 该功能需要安装java环境,且对于使用过poco框架的脚本不支持打包。
(4)窗口:恢复默认布局及窗口的全部布局。
2、Airtest辅助窗
(1)touch——点击
使用方法:touch(Template(r"tpl1624360070963.png",record pos=(0.208,0.755),resolution=(1080,2340)))
说明:模拟点击操作,参数为一个图片模板,用于在屏幕上找到并点击图片对应的位置。
(2)wait——等待
使用方法:wait(Template(r"tpl1624360070963.png",threshold=0.8,timeout=10))
说明:等待某个UI元素出现,threshold为图片匹配的相似度阈值,timeout为等待超时时间。wait 操作是让脚本等待某个U1元素出现后再继续运行。如果指定的元素在超时时间内没有出现,脚本将会抛出一个异常,并停止执行。
(3)swipe——滑动
使用方法:swipe(start_pos,end _pos, duration=0.5)
说明:模拟滑动操作,从start_pos滑动到end_pos,duration为滑动持续时间。
(4)exists——存在
使用方法:if exists(Template(r"tpl1624360070963.png")):
说明:判断屏幕上是否存在某个UI元素。返回值为true或false。
(5)text——输入文本
使用方法:text("Hello, World!")
说明:模拟输入文本操作。一般和touch配合使用,先点击输入框再输入文本。
(6)keyevent——发送键盘事件
使用方法:keyevent("HOME")
说明:模拟发送按键事件,如“HOME”键。
(7)snapshot——截图
使用方法:snapshot(filename="screen.png")
说明:对当前屏幕进行截图,并保存到指定的文件名。截图图标是支持局部截图的。
(8)sleep——等待
使用方法:sleep(secs=1.0),单位为秒
说明:程序等待一段时间
(9)assert_exists——断言目标存在
使用方法:assert_equal(poco("com.miui.calculator:id/btn_8_s").attr("text"), "8", "按钮值为8")
说明:poco获取了一个控件的“text”属性值,然后再通过断言来判断这个属性值是否为“8”。填写的msg依旧会显示在报告的断言信息上。
3、Poco辅助窗
(1)在设备窗口打开待测应用之后,就可以到Poco辅助窗中下拉选择对应的poco模式,来查看应用的UI树。右键可添加控件的UI path。
- Android原生应用选择Android模式
- iOS原生应用选择iOS模式
- 游戏应用最好向开发咨询是何种引擎渲染,之后接入pocosdk再来选择对应的模式,比如unity游戏则选择unity模式
(2)冻结模式查看控件
(3)检视模式查看控件
(4)poco脚本录制功能
4、脚本编辑框
(1)支持选中1行或者多行脚本右键单独执行,方便调试。
(2)点击脚本编辑窗口右上角的下拉按钮,即可唤出脚本编辑窗口提供的快捷功能。
(3)按下 ctrl+/
键即可快速注释脚本,再次按下 ctrl+/
键即可快速取消注释。
(4)按下 Tab
键即可快速实现缩进。按下 shift+Tab
键即可快速实现取消缩进。
5、Log查看窗
(1)log查看窗会显示运行脚本的命令并且实时显示运行脚本的log内容。在运行脚本过程中,IDE会用光标标注当前运行到哪一行脚本,非常方便观测脚本运行情况。
(2)在log查看窗可以筛选日志级别,如:只关注报错的日志,就筛选error。
6、设备窗
用数据线连接设备后,在设备窗会显示设备,点击connect,即可打开连接的设备的画面