引言

我们的Airtest Project诞生的初衷,源于我们对于游戏自动化测试框架的渴求。相比于普通的软件测试,手游测试由于手机机型繁多,对于性能测试、兼容性测试的需求很高,同时可能还有大量重复性的内容例如新手流程需要进行反复测试。自动化测试在一定程度上,可以减轻测试人员的负担、缩短bug发现周期、提高测试效率。

然而,手游的自动化测试一直是业内难题,因为游戏场景复杂、内容随机性大、界面迭代频繁,最重要的是大家使用的游戏引擎五花八门,想要做好手游自动化测试并非易事。

为了降低自动化测试的门槛,用更少的精力产出更多高效的自动化脚本,来达到提升测试效率的目的,我们推出了一整套解决方案,项目命名为Airtest Project

随着我们项目的持续开发,我们发现除了在游戏测试上它有着很不错的表现外,还可以很轻松地将它扩展到更多的平台、以及更多引擎上。从一开始我们仅仅使用Android手机来测试游戏,到现在我们可以在Windows、iOS上测试游戏和各类应用,我们看到了这个项目展现出来的巨大潜力和需求,因此我们决定将项目开源出来分享给大家,希望能够有更多人来一起使用和完善这个项目。

前置需求

Airtest Project上手很容易,但并非没有门槛,我们希望你能够:

  • 自动化测试有一些初步了解,有一些代码基础
  • 了解Python基本语法,我们的脚本基于Python,如果完全对它不了解的话可能需要预先学习一些Python的语法知识
  • 准备一个集成开发环境,可以是我们提供的AirtestIDE,也可以是你喜欢的任何代码编辑器,例如Sublime,Pycharm等。在我们的系列教程中,为了便于展示,通常采用的是AirtestIDE,它对于我们的项目有一些专属定制的功能,能够让你更快上手。
  • 一个你想要拿来测试的游戏或应用
  • 在阅读系列教程前,强烈推荐先阅读官网的5分钟快速上手教程,对Airtest Project的使用流程有大致了解

名词解释

我们的Airtest Project的核心成员,是AirtestPoco两大框架,它们都是Python的第三方库,因此使用我们的工具编写出来的脚本,本质上都是普通的Python脚本,你可以根据你的需求自由引入其他的Python库。

其中:

  • Airtest是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。
  • Poco是一款基于UI控件识别的自动化测试框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序,也可以在其他引擎中自行接入poco-sdk来使用。
  • AirtestIDE 是一个我们配套推出的跨平台的UI自动化测试编辑器,内置了AirtestPoco的相关插件功能,能够使用它快速简单地编写脚本。

具体的使用方式,请参考教程和文档。

教程索引

为了方便大家快速上手,我们根据几种最常见的使用场景,提供了以下几篇简易教程:

请尽量在编写你的脚本前仔细阅读教程内容,同时,在我们的如何编写你的第一个游戏测试脚本 这篇教程中,我们还对AirtestPoco两个框架都做了入门的基础介绍,事先阅读它也许能够让你少走一些弯路。

如果你的脚本中同时涉及到了游戏测试和Android手机相关的操作(例如ADB指令调用),可以同时参考如何编写你的第一个游戏测试脚本在Android手机上进行测试两篇教程,以此类推。

源码、BUG与建议

若遇到BUG,或是有相关建议,欢迎到Github上的AirtestProject页面,找对应的项目提issue。

如果不知道可以提到哪个项目下,可以直接在这里提issue,我们会有专人统一处理。