一、Airtest project简介
Airtest project 是网易自研的一套解决游戏自动化测试的解决方案,在2018年 google 开发者大会上受到谷歌极力推荐。这套解决方案包含 Airtest、Poco、AirtestIDE、AirLab 四个部分。 支持 android、ios、windows、小程序上测试各类游戏和应用,使用 python 编写自动化脚本。
- Airtest框架 基于图像识别的跨平台自动化测试框架,受到MIT研究院 Sikuli 成果的启发,Sikuli 是一种图形脚本语言。他们构思了一种全新的ui测试模式,基于图像而不是控件对象的测试方式。
- Poco框架 基于控件识别自动化测试框架,使用起来类似 appium,结合AirtestIDE使用非常方便定位控件,能比 appium 节省很多时间。
- AirtestIDE 网易自研的IDE,内置 Airtest 和 Poco 框架,adb 工具等。AirtestIDE分为免费版和企业版,免费版功能有阉割,如果不去买网易的服务,日常写脚本测试也是完全OK的。
- AirLab 基于Airtest 的真机自动化云测平台,需要付费购买,这个就不说了。
Airtest 和 Poco 已开源,GitHub下载地址:https://github.com/AirtestProject
AirtestIDE下载地址:http://airtest.netease.com/
二、Airtest框架
AirtestIDE 写脚本很简单,基本都是点点点,再分装一些通用方法就可以了。
1.下载 AirtestIDE 解压后,打开 AirtestIDE.exe。打开手机 USB 调试模式,用 usb 连接电脑,IDE上会出现手机设备,点击 connect 。
2.连接上手机如下图,以 携程APP为例。
3.然后开始录制脚本,使用左侧 Airtest 辅助窗中的事件录制并生成代码。下面除了定义一个方法其他是直接点点生成的代码,很简洁。
三、Poco框架
1.Poco 辅助窗选择类型,我用的 android 手机,所以这里选择 android 。
2.我们录制一个和上面流程一样的脚本,Airtest 和 Poco 可以混用。
3.AirtestIDE 提供了测试报告功能,报告长相如下:
四、总结
Airtest project 这套解决方案极大提升了UI自动化测试的效率。基于图像识别的 Airtest 框架可跨平台使用,也就是说如果 ios 和 android 的UI一样,那么一套脚本即可实现在两个平台跑,当然这是一个理想化的过程,实际还得考虑图像识别精准度的问题。不管怎么样,网易将这一成果大部分开源贡献出来,就显得非常有诚意,解决了部分测试过程中的痛点,降低了自动化测试的门槛。目前业界还有基于OCR的AI识别,纯自然语言的自动化解决方案,不过不是开源的,要收费还挺贵,哈哈!