鸿蒙 鸿蒙应用怎么测试?这个工具包请收藏!

TesterHome小助手 · 2024年04月18日 · 最后由 slink 回复于 2024年05月24日 · 9108 次阅读
本帖已被设为精华帖!

近日,鸿蒙生态再次迎来里程碑进展,4 月 7 日,华为官宣目前已有超 4000 个应用加入鸿蒙生态。

在今年 1 月中旬,华为刚宣布 HarmonyOS NEXT 鸿蒙星河版面向开发者开放申请,这一版本鸿蒙系统也被称为 “纯血鸿蒙”。当时,华为宣布首批 200 多家应用厂商正在加速开发鸿蒙原生应用,不到 3 个月时间,加入鸿蒙生态的原生应用数量便增长近 20 倍。

可以看出,全国多地正在密集推进鸿蒙化进程。小编整理了 HarmonyOS 开发、测试相关的一个 “工具包”,供大家参考。

鸿蒙开发套件

华为为 HarmonyOS 鸿蒙开发者提供包括 HarmonyOS SDK、DevEco Studio、DevEco Service 等开发、调试、测试功能的服务,让开发效率进一步提升,同时享受顺滑的开发体验。

面向鸿蒙生态的声明式开发套件,包含了鸿蒙生态应用从设计、开发、测试、上架所需的关键技术和产品。(鸿蒙指华为终端鸿蒙智能设备操作系统软件)

面向鸿蒙生态的声明式开发套件包括:

  • AppGallery Connect

(简称 AGC)致力于为应用的创意、开发、分发、运营、经营各环节提供一站式服务,构建全场景智慧化的应用生态体验。

https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/

  • DevEco Studio

面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,提供了代码智能编辑、低代码开发、双向预览等功能,以及轻量构建工具 DevEco Hvigor 、本地模拟器,持续提升应用及服务开发效率。

https://developer.huawei.com/consumer/cn/deveco-studio/

  • DevEco Testing

提供 HarmonyOS 应用和设备测试解决方案,助力开发者全面高效测试。

https://devecotesting.huawei.com/userPortal/

https://developer.huawei.com/consumer/cn/next/deveco-testing/

  • HarmonyOS Design

是鸿蒙生态不断更新的设计资源库,包含图标、色彩、文字、音效等丰富的资源,并且提供多种效率组件和界面模板,帮助快速准确的设计 HarmonyOS 应用。

https://developer.huawei.com/consumer/cn/design/

  • ArkTS

是鸿蒙生态的应用开发语言。它在保持 TypeScript(简称 TS)基本语法风格的基础上,对 TS 的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式 UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。

https://developer.huawei.com/consumer/cn/arkts/

  • ArkUI

是一套构建分布式应用界面的声明式 UI 开发框架。它使用极简的 UI 信息语法、丰富的 UI 组件、以及实时界面预览工具,帮助开发者提升 HarmonyOS 应用界面开发效率。

https://developer.huawei.com/consumer/cn/arkui/

  • ArkCompiler

是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。

https://developer.huawei.com/consumer/cn/arkcompiler/

自动化测试框架使用指南

为支撑 HarmonyOS 操作系统的自动化测试活动开展,华为提供了支持 JS/TS 语言的单元及 UI 测试框架,支持开发者针对应用接口进行单元测试,并且可基于 UI 操作进行 UI 自动化脚本的编写。

HarmonyOS 自动化测试框架 arkxtest,作为 HarmonyOS 工具集的重要组成部分,提供了 HarmonyOS 自动化脚本编写和运行的基础能力。编写方面提供了一系列支持测试脚本编写的 API,包括了基础流程 API、断言 API 以及 UI 操作相关的 API,运行方面提供了识别测试脚本、调度执行测试脚本以及汇总测试脚本执行结果的能力。

实现原理

框架重要分为两大部分:单元测试框架和 UI 测试框架。

  • 单元测试框架

单元测试框架是测试框架的基础底座,提供了最基本的用例识别、调度、执行及结果汇总的能力。主要功能如下图所示:

单元测试脚本的基础运行流程如下图所示,依赖 aa test 命令作为执行入口,该命令可具体参考。

  • UI 测试框架

UI 测试框架主要对外提供了 UiTest API 供开发人员在对应测试场景调用,而其脚本的运行基础还是上面提到的单元测试框架。

UI 测试框架的主要功能如下图所示:

约束与限制

UI 测试框架的能力在 HarmonyOS 3.0 release 版本之后方可使用,历史版本不支持使用。

单元测试框架的部分能力与其版本有关,具体能力与版本匹配信息可见代码仓中的文档介绍。

有关环境准备、新建测试脚本、编写单元测试脚本、编写 UI 测试脚本、执行测试脚本、查看测试结果、常见问题等内容...

阅读:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/arkxtest-guidelines-0000001478061625-V3

HarmonyOS 自动化测试框架—Hypium

应用开发过程中,要确保应用的功能和界面能满足预期,往往需要通过测试来验证。为此,研发了一套新的自动化测试框架 Hypium,它支持以插件形式集成到 DevEco Studio 中,让开发者在应用开发的过程中可以快速编写和执行测试用例,实现应用的高效验证。

“Hypium” 是 “Hyper Automation + ium” 的组合词,“Hyper Automation” 表示超级自动化, “ium” 意指稳定、可靠的测试框架能力底座。从取名含义可以看出,我们想要为开发者打造一个以超级自动化测试为理想目标、且稳定可靠的测试框架。

自动化测试框架 Hypium 以插件形式集成到 DevEco Studio 中。开发者创建工程后,DevEco Studio 会自动生成测试目录、测试类和测试用例模板等,如图 1 所示。开发者无需从零开始,让测试更加简单、高效。

应用程序的自动化测试,从应用场景上主要分为两类:一类主要测试程序的内部功能逻辑,聚焦在测试程序内的函数接口,用于开发人员自测试使用;另一类主要是所见即所得的界面测试,操作页面并检查页面控件是否符合预期的端到端的测试,用于测试人员覆盖全路径的验证测试。

针对上述两种应用场景,自动化测试框架 Hypium 推出了单元测试框架和 UI 测试框架两个子框架。

● 单元测试框架(HJsUnit):提供单元测试用例编写的基础接口,以及用于测试系统或应用的接口。支持开发者编写和执行单元测试用例,并且生成对应的测试报告。

● UI 测试框架(HUiTest):通过简洁易用的 API 提供查找和操作界面控件的能力,支持开发基于界面操作的自动化测试脚本。

Hypium 的单元测试框架和 UI 测试框架的详细介绍,具体阅读:

《HarmonyOS 自动化测试框架—Hypium》

《Hypium 框架使能 ArkTS 应用高效测试》》

《自动化测试效率提升 30% 如何达成》

HarmonyOS 专项测试

随着信息技术的高速发展,移动应用与人们生活日益紧密,面向各类场景的应用层出不穷,什么样的应用更受用户青睐呢?在满足用户功能需求之上,一个好的应用要能运行稳定、流畅不卡顿、占用内存小、安全等级高,此外,最好还能提供更多创新便捷的附加能力。

为了匹配用户的期望,应用开发者们自开发阶段到上架之前,均在持续进行应用测试。在每个测试阶段,开发者们都有不同的测试目标。

在开发自测阶段,需要保障应用基本可用;功能测试阶段,需要应用功能完整,实现用户目的;在专项测试中,则以为用户提供更好的体验为目标,通过多维度测试(如安全、性能功耗、稳定性等),持续跟踪应用质量指标;直至最后满足 HarmonyOS 应用测试标准,方可上架发布。

在这个过程中,专项测试是否充分,各项领域是否全面,决定了应用在测试验收环节能否通过各项检测指标和高质量的交付,最终成为用户喜爱的应用。

为什么会有专项测试?

对于普通应用开发团队而言,开展应用专项的测试,往往存在诸多难点。不同的专项领域测试,环境要求不同,测试工程师需要具备相应的测试技能也不同,这意味着测试执行需要投入较大的成本。测试执行结束后,对测试数据进一步挖掘,深度分析等,同样也非常依赖测试工程师的专业度。

DevEco Testing 让应用专项测试,变得更简单、更专业、更智能!通过将专业测试服务化,既省去了环境搭建过程,也降低了测试门槛,专项测试不再局限于测试人员,开发人员也可以将应用测试前置,在开发阶段就能进行自测,随时开发随时测试,最终实现测试前移的目的。

除了稳定性测试外,DevEco Testing 还提供了应用拨测、性能测试、安全测试、应用标准测试等其他应用专项测试能力,为开发自测试 - 集成测试 - 上架测试提供了一站式测试服务,帮助应用团队轻松应对应用测试全场景,助力打造 HarmonyOS 高品质应用。详细阅读:《玩转 HarmonyOS 专项测试》

共收到 5 条回复 时间 点赞

AGC 20 号才会有单框架机器,DevEco Testing 用着感觉有待改进

TesterHome小助手 将本帖设为了精华贴 04月19日 21:59

最近接鸿蒙的需求,感觉他们社区生态是真的很烂😂

slink 回复

怎么说呢,就是我演示、吹牛的时候我可以用 PPT、图片,但是你用不起来就是能力不行,不用就是公敌【手动狗头保命】

HuangMingMing 回复

测试的重投入我直接否掉了(组里都是偏服务端,客户端就我比较有话语权),很多公司选择直接套 H5,还有一些踩坑鸿蒙社区版 Flutter,有实力的拿鸿蒙社区 Engine 到自己引擎适配,更有实力的直接 “自研” 适配,乱成一锅粥;

现在都是赶 6 月份开发者大会罢了,等适配完内部动态化能力肯定又要换新的一版,新的一版又要重新来一遍,纯纯客户端 KPI🤣

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册