《A1-鲍红磊--鸿蒙端UI自动化测试开源框架—HDriver.pdf》由会员分享,可在线阅读,更多相关《A1-鲍红磊--鸿蒙端UI自动化测试开源框架—HDriver.pdf(27页珍藏版)》请在三个皮匠报告上搜索。
1、鸿蒙端UI自动化测试开源框架HDriver鲍红磊微博高级测试开发工程师鲍红磊微博高级测试开发工程师目前负责微博测试中台架构设计和系统开发,保障微博、新浪新闻等产品的高可用性和稳定性,专注于移动端自动化测试效率的提升和方法的创新,热衷于利用图像处理、AI、智能硬件构建新的测试手段和方法目录01CONTENTS0203背景要解决的问题具体实现04同类型框架对比05未来规划UI测试即用户界面测试,主要关注于检查软件的图形用户界面是否符合设计规范,确保其可用性、准确性、响应性和一致性以提供良好的用户体验。移动端UI测试专注于在各种移动设备和操作系统上验证应用的用户界面,确保其操作流畅且在不同屏幕尺寸和
2、分辨率下表现良好,以提供优秀的移动用户体验。移动端UI自动化测试使用自动化工具和框架来执行针对移动应用用户界面的测试脚本,例如点击、滑动、输入等操作,以验证功能正确、界面响应和用户体验满足要求,从而提升测试的效率和覆盖性。背景概念引入背景Android端UI自动化背景iOS端UI自动化背景鸿蒙端UI自动化ArkTSHarmonyOS应用开发语言。在保持TypeScript基本语法风格基础上,对TS动态类型特性施加更严格的约束,引入静态类型。工程结构与被测APP在同一工程中,在工程目录entry/src/ohosTest下,如右图。UiTest库UiTest提供模拟UI操作的能力,供开发者在测试
3、场景使用,主要支持如点击、双击、长按、滑动等UI操作能力。运行方式UI测试APP与被测APP以两个独立APP的形式存在,独立的安装包,独立的LOGO,但是相互绑定Bundle。开发成本高所 有 开 发 U I 自 动 化 测 试需 要 安 装 鸿 蒙 端 A P P 的 整套 开 发 编 译 环 境,包 括S D K、I D E、编 译 工 具 等。维护成本高不能跨应用语言单一只 能 使 用 A r k TS,如 果能 够 使 用 Q A 常 用 的P y t h o n、J av a 等 语 言编 写 鸿 蒙 U I 自 动 化 测 试C a s e,Q A 转 向 鸿 蒙 开展 工 作 的
4、 成 本 更 低,速度 更 快。测 试 A P P 和 被 测 A P P 分 别属 于 Q A 和 R D 两 个 以 上 的团 队,两 个 A P P 需 一 起 编译 签 名,相 比 Q A 自 己 维护 一 个 独 立 的 测 试 A P P 工程,维 护 成 本 增 高。在 鸿 蒙 的 机 制 中,测 试A P P 和 被 测 A P P 是 同 一代 码 工 程 开 发,且 通 过B u n d l e I d 强 绑 定。非 绑定 的 被 测 A P P 位 于 前 台时,后 台 的 测 试 A P P 的网 络、内 存 等 资 源 会 回 收要解决的问题具体实现架构图具体实现流
5、程图SDK类似于Android端的AndroidSDK,主要使用其提供的hdc,类似Android端的adb,hdc(HarmonyOS Device Connector)是为开发人员提供的用于调试的命令行工具,提供设备查询、端口转发等功能Python3运行在PC端的Client使用Python3编写,因为与手机端通信使用的Python3初始环境自带的Socket,所以不需额外安装任何依赖。如果后续增加了其他语言的Client,这里需要安装其他语言的运行环境。Node用来编译打包hap安装包,类似于Android端用来编译打包apk安装包的Gradle,或者iOS端的Xcodebuild。如果
6、只安装已经编译好的hap安装包,不需要Node环境具体实现环境具体实现客户端设计亮点依赖少只需要Python3基础环境,不需要额外安装任何依赖包。多样调用元素操作或获取属性既支持链式调用,又支持更高效的多参数一次性调用。代码量小总代码行数300+,浓缩到1个PY文件中,使用方便。具体实现客户端使用样例动图演示RPC鸿蒙端的RPC主要应用场景是进程间通信,且RPC易用性不如Socket。HTTP鸿蒙端API暂不支持HTTP Server接口;因为效率低,也不是首选Socket方便易用,一般不需要安装额外的依赖,且TCP长连接通信高效Websocket全双工