Airtest Project——UI自动化利器介绍
很多人对airtest的各种概念有些混淆,所以我们先来理解一些名词:
-
Airtest Project:是由网易游戏推出的一整套UI自动化项目,其包含3个部分:Airtest、Poco、AirtestIDE。
-
Airtest框架:是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持Windows、Android和iOS平台。它是Python的一个第三方包,和Selenium、Requests包一样。
-
Poco框架:是一款基于UI控件识别的自动化测试框架,目前支持Unity3D/cocos2dx-*/Android原生app/iOS原生app/微信小程序,也可以在其他引擎中自行接入poco-sdk来使用(游戏必须接入Poco-SDK)。它是Python的一个第三方包,和Selenium、Requests包一样。
-
AirtestIDE:首先我们来看看什么叫IDE。集成开发环境(IDE,Integrated Development Environment)是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。比如我们使用的Pycharm就是Python的一个IDE。所以AirtestIDE就是用来编写airtest、Poco自动化代码的编辑器,其功能包含:编写代码、调试、截图、查看App控件、录制、报告等。
名词介绍完毕,以后大家交流说Airtest,到底是指的Airtest Project,还是Airtest框架,还是AirtestIDE,希望大家能够结合上下文,有效甄别。用过按键精灵类工具的可以很容易学会AirtestIDE和Airtest;会Selenium、Appium的可以很容易转到Poco。AirtestIDE能够通过一种所见即所得的方式完成脚本的录制,即使测试人员不会编程不懂脚本,也可以通过正常用户的点击拖拽等操作,自动完成脚本的录制,从而大幅度降低企业和项目的自动化维护成本。但同时我们看到不管是Airtest框架还是Poco框架,它们都是Python的第三方包,用它们来编写自动化,就是在编写Python代码。像Selenium、Appium一样,你可以用工具去录制,但这样录出来的东西自己学学、玩玩可以,如果是要正式用在项目中,还是要自己编写代码、封装框架,所以学好Python是必需的。Python2已经被抛弃了,如果没有项目限制,建议直接Python3.8(写于2021.3)。
看一下官方给出的项目架构图:
下面是我分别用Airtest的图像识别和Poco的控件定位录制的打开公众号文章的一个小Demo:
环境:python3.7;airtest1.1.8;pocoui1.0.81;airtestIDE1.2.8
Airtest操作微信的录制、回放、报告
https://v.qq.com/x/page/a3230hmhurs.html
Poco操作微信的录制、回放、报告(故意断言了一个错误的值,看下运行失败的报告)
https://v.qq.com/x/page/w32307d3ryh.html
---------------------------------------------------------------------------------
关注微信公众号即可在手机上查阅,并可接收更多测试分享~