最近在做APP自动化过程中,有调研Airtest框架的使用,便初步介绍一下Airtest框架的使用,有兴趣的小伙伴,可以一起探讨学习~
(一)背景
Airtest是什么?
Airtest是一款基于Python的、跨平台的UI自动化测试框架,基于图像识别原理,适用于游戏和App
poco框架
poco 是一款基于UI控件识别的自动化测试框架,目前能够支持在Android原生、iOS原生、Unity3D等平台
AirtestIDE
AirtestIDE是一款跨平台的UI自动化测试编辑器,其中里面内置了Airtest和Poco的相关插件功能,能够使用它快速简单地编写Airtest和Poco代码
官方下载地址:https://airtest.netease.com/index.html
使用文档:https://airtest.doc.io.netease.com/IDEdocs/3.1getting_started/AirtestIDE_install/
(二)如何使用
1. 安装AirtestIDE
AirtestIDE下载地址:https://airtest.netease.com/
2. Android真机连接
2-1 启动AirtestIDE
2-2 连接真机
备注:需要保证手机已开启USB调试模式,才能够被识别,且电脑有安装adb命令
3.脚本编写
说明:AirtestIDE内置了 Airtest和Poco 2个自动化测试框架,他们都是python第三方库,在编写的过程中,可以根据需求在里面混合使用Airtest和Poco,同时也可以加入其他python第三方库。
3-1 新建.air脚本
说明:由于是在IDE中运行.air脚本时i,会自动连接设备窗口当前连接的设备,并且会自动保存log内容,方便后续一键生成可视化的测试报告。但新建的.py纯python脚本不会自动帮我们处理这些
.air脚本:.air脚本的初始化代码帮我们从api中引入了airtest的各个接口以及初始化设备。.air脚本就是一个文件夹,里面存放了与.art同名的.py文件,以及相关的图片文件。在运行脚本时,实际上依然使用python调用了里面的.py文件,因为Airtest本质上是一个python的第三方库
3-2 编写Airtest脚本
Airtest脚本使用文档:https://airtest.doc.io.netease.com/IDEdocs/airtest_framework/1_airtest_api/
说明:新建.airtest脚本会自动化生成上述初始化代码,这段代码已经引入了airtest的核心API,并且auto_setup会帮我们自动处理一些脚本初始化的内容以及连接设备窗口当前连接的设备,所以可以直接开始编写脚本
3-3 录制脚本
在初期不熟悉airtes脚本时,可通过窗口左侧的辅助命令(API)来录制脚本:
touch: 点击
wait:等待某个截图出现
swipe:滑动
exists:存在某个截图
text:文本输入
keyevent:导航栏虚拟按键操作
4. 运行脚本
4-1 点击IDE的运行脚本按钮,快捷键是F5,如果想要停止脚本运行,只需要点击上图中右侧的"停止"按钮即可
4-2 运行脚本后,log窗口会实时展示执行的日志信息
5.生成报告
5-1 通过点击IDE的查看报告按钮
5-2 快速生成html格式的报告,并且用默认浏览器打开
最后,其实Airtest支持的功能非常多,且非常强大,其他功能还有待解锁,下次有机会分享一下如何通过python脚本做APP自动化