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桌面应用的控件树信息。

5. AirtestIDE录制回放功能演示

这里我们使用AirtestIDE连接各个平台的设备来演示一些简单的脚本录制或者简单自动化脚本运行的情况:

1)Android平台

2)iOS平台

3)Windows应用/桌面

4)chrome浏览器(Web)

5)游戏应用(Android)

6. 更多Airtest项目的学习渠道,看下方

网易UI自动化测试探索:Airtest+Poco相关推荐

  1. Airtest 网易 UI 自动化工具 Airtest 浅用记录

    一 使用目的 该工具主要是面向游戏UI测试基于图像识别,如游戏框架unity,Cocos-js以及网易内部的游戏框架 同时也支持原生Android App 的基于元素识别的UI自动化测试. 本文主要使 ...

  2. 网易 UI 自动化工具 Airtest 浅用记录

    一 使用目的 该工具主要是面向游戏UI测试基于图像识别,如游戏框架unity,Cocos-js以及网易内部的游戏框架 同时也支持原生Android App 的基于元素识别的UI自动化测试. 本文主要使 ...

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

    谷歌发布了一款由网易研发的游戏 UI 自动化测试方案:Airtest Project.谷歌方面表示 Airtest 是安卓游戏开发最强大.最全面的自动测试方案之一. 从 Airtest 官网上可以看到 ...

  4. UI自动化测试工具Airtest

    一.工具介绍 Airtest是网易出的基于图像识别和Poco控件识别的一款UI自动化测试工具. 两个关键点: 1.基于图像识别 Airtest可以通过屏幕截图的方式来获取我们想要操作的区域.例如对一些 ...

  5. 网易 UI 自动化工具 Airtest

    分享一个游戏测试的自动化UI测试工具,该工具主要是面向游戏UI测试基于图像识别,如游戏框架unity,Cocos-js以及网易内部的游戏框架,同时也支持原生Android App 的基于元素识别的UI ...

  6. 基于AI的网易UI自动化测试方案与实践

    参考:https://time.geekbang.org/dailylesson/detail/100016410

  7. 阿里p8呕心沥血整理出来的,APP UI自动化测试思路总结,速看

    首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师.高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去.接下来,一 ...

  8. APP UI自动化测试:框架选择、环境搭建、脚本编写……全总结

    首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师.高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去. 接下来, ...

  9. 网易Airtest跨平台的UI自动化测试框架

    技术博文参考:   https://www.cnblogs.com/sdcjc/p/14583847.html 一.Airtest project简介 AirtestIDE 是一个跨平台.多端(Win ...

最新文章

  1. 定义一维数组一定要指定个数吗_6.1 C语言一维数组
  2. centos下排查vsftpd出现put零字节问题的记录
  3. 验证字符串是否为汉字
  4. javascript的eval和with使用小结
  5. proxmoxve打造云桌面_基于PROXMOX VE的家庭NAS搭建方案
  6. 小鱼便签_同样是写便签,这样更酷
  7. python爬取网站数据步骤_python怎么爬取数据
  8. SpringBoot中使用Mybatis-plus整合PageHelper分页插件踩坑
  9. Linux学习13-CentOS安装ab做压力测试
  10. linux服务网卡速率查看,linux下查看网卡速率
  11. 谷粒商城 -- 项目环境搭建
  12. emmc/ufs, sd
  13. sql查询结果加上序号
  14. CUDA error: CUBLAS_STATUS_ALLOC_FAILED when calling `cublasCreate(handle)`
  15. 永中科技剥离台资百慕大是”执政败笔“
  16. 期货中的正向交易与反向交易
  17. Android App Widget 开发
  18. 采购项目管理:定义和流程
  19. ijkplayer Android 端简要使用流程
  20. VirtualBox VM 空间瘦身记(vmdk)

热门文章

  1. ggplot2:9绘图需要的数据整理技术-数据转换
  2. 新年开工——相关性分析了解一下?
  3. Error in hist.default(data) : ‘x‘ must be numeric
  4. R语言ggplot2可视化:在可视化图像中添加对角线(diagonal line)
  5. python中使用squarify包可视化treemap图:treemap将分层数据显示为一组嵌套矩形,每一组都用一个矩形表示,该矩形的面积与其值成正比、自定义设置每一个数据格的颜色
  6. Python垂直翻转图像(Vertically Flip Image)
  7. IPython和Jupyter关系及区别
  8. 高斯混合模型GMM、核心参数、高斯混合模型GMM的数学形式
  9. 聚类算法是什么?聚类(clustering)有哪些常用的评估方法?评估方法的公示是什么?轮廓系数(Silhouette Coefficient)、平方根标准误差、R方、ARI分别是什么?
  10. 计算机组成原理实验报告名,计算机组成原理的实验报告