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

简介: 网易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桌面应用的控件树信息。


5. AirtestIDE录制回放功能演示



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


1)Android平台


网络异常,图片无法展示
|


2)iOS平台


网络异常,图片无法展示
|


3)Windows应用/桌面


网络异常,图片无法展示
|


4)chrome浏览器(Web)


网络异常,图片无法展示
|


5)游戏应用(Android)


网络异常,图片无法展示
|


相关文章
|
11天前
|
人工智能 运维 监控
当AI遇上自动化:运维测试终于不“加班”了
当AI遇上自动化:运维测试终于不“加班”了
118 9
|
1月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
1月前
|
人工智能 JavaScript 算法
Playwright携手MCP:AI智能体实现自主化UI回归测试
MCP 协议使得 AI 能够通过 Playwright 操作浏览器,其中快照生成技术将页面状态转化为 LLM 可理解的文本,成为驱动自动化测试的关键。该方式适用于探索性测试和快速验证,但目前仍面临快照信息缺失、元素定位不稳定、成本高、复杂场景适应性差以及结果确定性不足等挑战。人机协同被认为是未来更可行的方向,AI 负责执行固定流程,人类则专注策略与验证。
|
1月前
|
机器学习/深度学习 人工智能 测试技术
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
EdgeMark是一个面向嵌入式AI的自动化部署与基准测试系统,支持TensorFlow Lite Micro、Edge Impulse等主流工具,通过模块化架构实现模型生成、优化、转换与部署全流程自动化,并提供跨平台性能对比,助力开发者在资源受限设备上高效选择与部署AI模型。
238 9
EdgeMark:嵌入式人工智能工具的自动化与基准测试系统——论文阅读
|
17天前
|
人工智能 自然语言处理 JavaScript
Playwright MCP在UI回归测试中的实战:构建AI自主测试智能体
Playwright MCP结合AI智能体,革新UI回归测试:通过自然语言驱动浏览器操作,降低脚本编写门槛,提升测试效率与覆盖范围。借助快照解析、智能定位与Jira等工具集成,实现从需求描述到自动化执行的闭环,推动测试迈向智能化、民主化新阶段。
|
3月前
|
XML jenkins 机器人
JMeter+Ant+Jenkins实现接口自动化测试持续集成
本文介绍了如何使用Ant生成JMeter接口测试报告,并集成到Jenkins中实现自动化测试。内容涵盖Ant与JMeter环境配置、build.xml文件设置、测试执行及报告生成,同时包括Jenkins插件安装、项目配置和钉钉消息通知的集成,帮助实现持续测试与结果可视化。
542 0
|
27天前
|
自然语言处理 前端开发 测试技术
使用 Playwright MCP 实现 UI 自动化测试
本文介绍如何结合Playwright与MCP协议实现智能化UI自动化测试。通过自然语言指令控制浏览器,降低技术门槛,提升效率,并涵盖环境搭建、核心功能、实战案例及最佳实践,展现对话式自动化的未来趋势。
|
3月前
|
人工智能 前端开发 测试技术
如何让AI帮你做前端自动化测试?我们这样落地了
本文介绍了一个基于AI的UI自动化测试框架在专有云质量保障中的工程化实践。
1627 21
如何让AI帮你做前端自动化测试?我们这样落地了
|
1月前
|
人工智能 JavaScript 测试技术
当Playwright遇见MCP,AI智能体实现自主化UI回归测试
本文探讨如何通过Model Context Protocol(MCP)让AI智能体驱动Playwright实现端到端自动化测试。重点解析快照技术的实现原理与实战流程,同时深入剖析其在信息丢失、元素定位、成本效率及逻辑复杂性等方面的现实挑战。
|
3月前
|
Web App开发 开发框架 .NET
Playwright 自动化测试系列(6)| 第三阶段:测试框架集成​指南:参数化测试 + 多浏览器并行执行
Pytest 与 Playwright 集成可提升自动化测试效率,支持参数化测试、多浏览器并行执行及统一报告生成。通过数据驱动、Fixture 管理和并行优化,显著增强测试覆盖率与执行速度,适用于复杂 Web 应用测试场景。