网易UI自动化测试探索:Airtest+Poco

1. 自动化测试

自动化测试的目的,就是为了“更快更好”地发现产品问题,有效提升产品质量。目前比较主流的自动化测试包含单元测试自动化、接口自动化和UI自动化。

相比接口自动化测试来说,UI自动化测试的成本要高很多,因为它直面的是终端界面,这个调整可能非常频繁,从而导致UI自动化测试脚本的维护成本增高。

然而,相对于拥有非常多大型游戏项目的网易游戏来说,UI自动化测试也是非常必要的。虽然界面有调整,但是大型项目的周期通常比较长,期间需要对很多功能进行频繁的回归测试,自动化就成了提高测试效率、降低工作成本的有效手段。

2. Airtest项目的发展历程

2014年,市面上还没有非常适用于游戏项目的自动化测试框架,于是,网易自研的AirtestProject就启动了。

AirtestProject主要包含Airtest和Poco两款UI自动化测试框架。在网易内部成功服务了数十个项目组之后,受邀在2018年的GDC大会上与谷歌联合对外发布。项目开源至今,已有数十万名开发者和上千家公司在使用。

3. Airtest项目想解决的痛点

AirtestProject主要想解决UI自动化测试的2个痛点,一个是平台通用性差的问题,另一个是上手门槛高的问题。

平台通用性差 ,是指一些测试框架不适用于所有平台产品的测试,包含Android、iOS和各种游戏引擎等;网易自研的Airtest和Poco都是跨平台的测试框架,Airtest利用图像识别原理可以做到 平台无关 ,Poco支持原生且与 引擎无关

上手门槛高 ,是指一些测试框架需要搭建复杂的测试环境,测试人员还需要有一定的代码编程能力,并且阅读非常详细的文档才能够上手。而Airtest和Poco的专用编辑器AirtestIDE 提供脚本录制与回放功能 ,测试人员无需自己写代码也可以一键录制和运行自动化脚本,极大地降低了自动化测试脚本编写的门槛。

4. Airtest项目的详细介绍

Airtest项目主要包含2款自动化测试框架,和一个专用的编辑器AirtestIDE:

1)基于图像识别的Airtest自动化测试框架

基于图像识别原理的Airtest自动化测试框架,脚本所见即所得,常见的点击、滑动、等待出现、断言等操作,都可以通过截图脚本实现,测试小白也可以秒懂。
另外Airtest框架兼容各种环境,并且无需嵌入代码,就可以适用于全平台,能够帮助项目快速实现自动化。

2)基于控件识别的Poco自动化测试框架

基于控件识别原理的Poco自动化测试框架,可以精确识别到界面上的每一个UI控件,准确定位;并且能实时获取控件的详细属性,方便操作对控件进行点击、滑动等操作。

另外,项目界面迭代,对原有Poco脚本的影响非常小,因为页面的上控件改动是比较少的,所以测试人员无需消耗过多精力维护Poco脚本。

3)专用编辑器AirtestIDE

为了降低自动化脚本的编写门槛,我们还开发了Airtest和Poco框架的配套编辑器,可以帮助我们轻松连接各个平台的设备,并且支持一键录制与回放自动化测试脚本:

它提供的主要功能有:

① 连接各种平台的设备

在AirtestIDE的设备连接窗口,支持连接Android、iOS设备和Windows窗口,并且可以实时查看设备画面和操作设备。

② 一键录制与回放脚本

AirtestIDE支持一键录制Airtest和Poco脚本、一键运行脚本(回放)和一键查看测试报告等功能。

③ 简单拖拽就可以完成截图脚本
点击Airtest辅助窗的API快捷功能,即可通过简单的点击、拖拽完成我们的Airtest截图脚本。

④ 实时查看设备的控件树
我们可在Poco辅助窗内查看设备当前的控件树,并且随着我们对设备画面的操作,辅助窗内的控件树也会实时刷新的。目前已经支持查看Android、iOS原生应用的控件树,以及unity、cocos等多种游戏引擎渲染应用的控件树,后续我们还将支持查看Windows和Mac桌面应用的控件树信息。

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

全部资料获取:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_54696666/article/details/131543388
今日推荐