游戏 UI 自动化测试方案 Airtest Project

谷歌发布了一款由网易研发的游戏 UI 自动化测试方案:Airtest Project。谷歌方面表示 Airtest 是安卓游戏开发最强大、最全面的自动测试方案之一。

游戏 UI 自动化测试方案 Airtest Project

从 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 自动化测试方案 Airtest Project

而基于 UI 控件搜索的 POCO 框架,可以直接获取 UI 结构,检视 UI 控件。它支持 Unity3D、Cocos2dx 等主流游戏引擎及安卓原生 App,开发者也可以通过扩展 SDK 支持其他游戏引擎或任意 UI 系统。

游戏 UI 自动化测试方案 Airtest Project

在实际测试过程中,Airtest IDE 可以为测试人员定位异常测试点,回放每一个操作步骤,最后还会生成一份报告,以方便测试人员排查细节错误。

游戏 UI 自动化测试方案 Airtest Project

借助 Airtest IDE,测试人员可录制自动化测试脚本、一键生成测试报告,提供相对完整的问题操作步骤、现场日志、截图和性能数据的记录,帮助开发成员快速定位和解决问题,实现有效沟通。

此外,Airtest IDE 中录制和运行的代码都是基于 Python 2.7 语言,新手上手比较容易,熟练的开发者也可以通过添加第三方库和工具增强自己的脚本。同时,这项工具还可以与持续集成相结合,甚至以此技术为基础搭建云测试平台。

在以往的测试过程中,开发者往往需要在几百台安卓手机上测试游戏的兼容性。但通过 Airtest IDE 可视化、易于编辑的界面与功能,开发者只需录制一次测试脚本即可实现多端运行,这大幅度减少了人力及时间成本。

游戏 UI 自动化测试方案 Airtest Project

而对于谷歌来说,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


参考:TechWebGameRes游资网