谷歌发布了一款由网易研发的游戏 UI 自动化测试方案:Airtest Project。谷歌方面表示 Airtest 是安卓游戏开发最强大、最全面的自动测试方案之一。
从 Airtest 官网上可以看到,Airtest Project 主要包含了三部分:Airtest IDE、Airtest 和 Poco。其中,Airtest IDE 是 GUI 工具,Airtest 和 Poco 是两个底层自动化测试框架。
据了解,Airtest IDE 是一个跨平台的 UI 自动化测试编辑器,可应用于游戏和 App 的多项测试功能。目前该工具已经应用于网易内部《梦幻西游》手游、《荒野行动》、《阴阳师》等数十个游戏项目中。
不妨先一起看看 Airtest Project 的主要特点:
基于图像识别的 Airtest 框架,适用于 Android 和 Windows 上的游戏和 APP,且无需开发者在项目代码上的额外支持
基于 UI 控件搜索的 Poco 框架,使用 Unity3d、Cocos2d 或安卓原生 App 开发的项目在脚本制作上具有极大的便利性
自动化脚本录制、一键回放、报告查看,轻而易举实现自动化测试流程
可利用手机集群进行大规模自动化测试,为游戏与 APP 快速实现兼容性测试
目前支持在 Windows 和 macOS 上运行
具体来说,通过基于图像识别的 Airtest 框架,使用者无需接入代码,只要在设备窗口操作手机,代码即会在代码窗口自动生成。如果开发者认为图标不够精确,还可以通过手动框选图标或是其他方式来生成模拟输入语句。
而基于 UI 控件搜索的 POCO 框架,可以直接获取 UI 结构,检视 UI 控件。它支持 Unity3D、Cocos2dx 等主流游戏引擎及安卓原生 App,开发者也可以通过扩展 SDK 支持其他游戏引擎或任意 UI 系统。
在实际测试过程中,Airtest IDE 可以为测试人员定位异常测试点,回放每一个操作步骤,最后还会生成一份报告,以方便测试人员排查细节错误。
借助 Airtest IDE,测试人员可录制自动化测试脚本、一键生成测试报告,提供相对完整的问题操作步骤、现场日志、截图和性能数据的记录,帮助开发成员快速定位和解决问题,实现有效沟通。
此外,Airtest IDE 中录制和运行的代码都是基于 Python 2.7 语言,新手上手比较容易,熟练的开发者也可以通过添加第三方库和工具增强自己的脚本。同时,这项工具还可以与持续集成相结合,甚至以此技术为基础搭建云测试平台。
在以往的测试过程中,开发者往往需要在几百台安卓手机上测试游戏的兼容性。但通过 Airtest IDE 可视化、易于编辑的界面与功能,开发者只需录制一次测试脚本即可实现多端运行,这大幅度减少了人力及时间成本。
而对于谷歌来说,Airtest IDE 能够为全世界的安卓开发者提供一套自动化的游戏测试解决方案,改善安卓开发的生态环境。这或许也是他们在 GDC 上宣布与网易合作,并在 Firebase Test Lab 中支持这项技术的原因(Firebase 是谷歌的自动化测试平台)。
目前 Airtest Project 已托管至码云Gitee(https://gitee.com/AirtestProject)开源使用,开发者也可以访问官网(http://airtest.netease.com/)进行查看和下载。
随着 Android 的迭代更新,Android 已经越来越规范,但 Android 的碎片化问题积累已久,不同手机厂商有不同的 UI 和 ROM,在屏幕尺寸、内存大小等硬件方面也具有很大的差异,对于游戏测试而言,这些问题都极大地增加了负担。相信这次网易和谷歌合作,Airtest Project —— 这套开源的游戏 UI 自动化测试方案能切实提升游戏开发效率。
点击以下链接可查看和下载 Airtest Project:
- 官网: http://airtest.netease.com/
- 码云Gitee: https://gitee.com/AirtestProject
- GitHub: https://github.com/AirtestProject
参考:TechWeb、GameRes游资网