《2-大型3D图形软件UI自动化建设实践-王良强-0722.pdf》由会员分享,可在线阅读,更多相关《2-大型3D图形软件UI自动化建设实践-王良强-0722.pdf(43页珍藏版)》请在三个皮匠报告上搜索。
1、大型3D图形软件 UI自动化建设实践讲 师王良强王良强(花名 胡迪)酷家乐测试开发专家工具产品线成都测试组负责人同时也负责酷家乐 UI 自动化能力建设与探索在 UI 自动化领域有六年的实践与探索经验,擅长测试提效探索 酷家乐UI自动化的发展历程基于业务特性的自动化探索自动化代码分层设计自动化用例编写提效探索总结与展望目录CONTENT酷家乐云设计工具酷家乐云设计工具是一款在线家装设计软件产品特点:以2D/3D 场景交互为核心功能链路复杂,十多个业务领域配置丰富前端业务重对自动化回归手段有强烈的诉求酷家乐UI自动化发展历程20202019年底 自动化框架 Hades 初版上线阶段一:自动化探索与
2、起步 尝试与探索 辅助回归 用例规模数百202120222023阶段二:大规模实践与落地 自动化价值凸显 追求覆盖率 深度自动化探索 用例规模破千阶段三:追求高质量的自动化 成为核心保障手段,纳入发布卡点 追求自动化质量、稳定性 用例规模突破40002022年中 自动化运行平台上线2023年中 运行环境迁移 linux,集群化 UI自动化正式纳入发布卡点酷家乐UI自动化发展历程UI 用例总数突破 4000,云设计工具用例超过 2500 核心业务的覆盖率超过 60%测试计划 300+,每天用例执行超 3000 次UI 自动化规模酷家乐UI自动化发展历程UI 自动化成效整体自动化 bug 发现率
3、5%11%20232024 自动化 bug 发现率UI 发布卡点线上故障比两年前降低 50%以上。因回归缺失的故障大幅降低24 年 UI 卡点拦截 bug 超 20 个简单认识一下 Hades 自动化框架Hades 框架框架组成Hades 框架全貌底层基于 puppeteer,由 js 实现Chrome 自动化解决方案围绕设计工具业务建设,集成酷家乐特色业务能力。Hades 框架相比原生 puppeteer,写法简化框架特性深度结合酷家乐业务,实现一些特色能力UI自动化实践过程中,遇到过哪些问题?遇到的典型问题框架能力不满足业务3D 图形设计软件,主流框架难以支撑业务。维护成本产品迭代快,用例
4、规模增长快。效率问题UI 自动化起步晚,待覆盖的场景众多。酷家乐UI自动化的发展历程 基于业务特性的自动化探索自动化代码分层设计自动化用例编写提效探索总结与展望目录CONTENT基于业务特性的自动化探索基于 3D画布交互(Canvas)前后端交互频繁数据复杂,上百万字段配置多且复杂元素 基于数据动态渲染设计工具业务特点3D 模型交互,如何降低对坐标依赖?如何支撑 复杂数据、显示效果、接口交互 质量保障?动态元素,xpath 无法穷举自动化面临的难题基于业务特性的自动化探索实践一:前端 API 建设,补足框架能力通用API:全业务 通用的底层能力,提供模型基础操作思路:建设前端自动化 SDK 能
5、力,补齐自动化框架短板 业务API:更高阶的 个性化业务操作能力问题:画布(Canvas)中元素无法定位,传统方式基于坐标,成本高基于业务特性的自动化探索实践一:前端 API 建设通用API通用的 模型选择器原理:前端 SDK 识别定位器计算模型坐标,puppeteer 利于鼠标事件操作模型优势:坐标成为中间态数据,用例层不再依赖坐标。基于业务特性的自动化探索前端 SDK 提供自动化专用 API 过百,成为自动化核心基础能力。实践一:前端 API 建设业务API更高阶的业务 API 特点:个性化的业务测试能力 业务团队自行维护基于业务特性的自动化探索实践二:通用底层能力建设Http 接口抓取
6、文本提取JsonDiff图像对比Mock 能力思路:围绕业务特性,打造优质的基础能力通用断言底层能力增强平台能力打通基于业务特性的自动化探索实践二:通用底层能力建设小结:底层通用能力的完善,极大提升自动化覆盖深度,也降低了编写成本支持百万字段的 Json 数据对比深度集成图像对比基于业务特性的自动化探索实践三:xpath 函数化,降低编码成本问题:页面元素动态生成,xpath 无法穷举思路:xpath 函数化,围绕文案封装基于业务特性的自动化探索实践三:xpath 函数化,降低编码成本早期的 xpath 写法:函数化 xpath 写法:案例1:常规 bu