近日,鸿蒙生态再次迎来里程碑进展,4 月 7 日,华为官宣目前已有超 4000 个应用加入鸿蒙生态。
在今年 1 月中旬,华为刚宣布 HarmonyOS NEXT 鸿蒙星河版面向开发者开放申请,这一版本鸿蒙系统也被称为 “纯血鸿蒙”。当时,华为宣布首批 200 多家应用厂商正在加速开发鸿蒙原生应用,不到 3 个月时间,加入鸿蒙生态的原生应用数量便增长近 20 倍。
可以看出,全国多地正在密集推进鸿蒙化进程。小编整理了 HarmonyOS 开发、测试相关的一个 “工具包”,供大家参考。
华为为 HarmonyOS 鸿蒙开发者提供包括 HarmonyOS SDK、DevEco Studio、DevEco Service 等开发、调试、测试功能的服务,让开发效率进一步提升,同时享受顺滑的开发体验。
面向鸿蒙生态的声明式开发套件,包含了鸿蒙生态应用从设计、开发、测试、上架所需的关键技术和产品。(鸿蒙指华为终端鸿蒙智能设备操作系统软件)
面向鸿蒙生态的声明式开发套件包括:
(简称 AGC)致力于为应用的创意、开发、分发、运营、经营各环节提供一站式服务,构建全场景智慧化的应用生态体验。
https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/
面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,提供了代码智能编辑、低代码开发、双向预览等功能,以及轻量构建工具 DevEco Hvigor 、本地模拟器,持续提升应用及服务开发效率。
https://developer.huawei.com/consumer/cn/deveco-studio/
提供 HarmonyOS 应用和设备测试解决方案,助力开发者全面高效测试。
https://devecotesting.huawei.com/userPortal/
https://developer.huawei.com/consumer/cn/next/deveco-testing/
是鸿蒙生态不断更新的设计资源库,包含图标、色彩、文字、音效等丰富的资源,并且提供多种效率组件和界面模板,帮助快速准确的设计 HarmonyOS 应用。
https://developer.huawei.com/consumer/cn/design/
是鸿蒙生态的应用开发语言。它在保持 TypeScript(简称 TS)基本语法风格的基础上,对 TS 的动态类型特性施加更严格的约束,引入静态类型。同时,提供了声明式 UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。
https://developer.huawei.com/consumer/cn/arkts/
是一套构建分布式应用界面的声明式 UI 开发框架。它使用极简的 UI 信息语法、丰富的 UI 组件、以及实时界面预览工具,帮助开发者提升 HarmonyOS 应用界面开发效率。
https://developer.huawei.com/consumer/cn/arkui/
是华为自研的统一编程平台,包含编译器、工具链、运行时等关键部件,支持高级语言在多种芯片平台的编译与运行,并支撑应用和服务运行在手机、个人电脑、平板、电视、汽车和智能穿戴等多种设备上的需求。
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 测试框架主要对外提供了 UiTest API 供开发人员在对应测试场景调用,而其脚本的运行基础还是上面提到的单元测试框架。
UI 测试框架的主要功能如下图所示:
约束与限制
UI 测试框架的能力在 HarmonyOS 3.0 release 版本之后方可使用,历史版本不支持使用。
单元测试框架的部分能力与其版本有关,具体能力与版本匹配信息可见代码仓中的文档介绍。
有关环境准备、新建测试脚本、编写单元测试脚本、编写 UI 测试脚本、执行测试脚本、查看测试结果、常见问题等内容...
应用开发过程中,要确保应用的功能和界面能满足预期,往往需要通过测试来验证。为此,研发了一套新的自动化测试框架 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 应用测试标准,方可上架发布。
在这个过程中,专项测试是否充分,各项领域是否全面,决定了应用在测试验收环节能否通过各项检测指标和高质量的交付,最终成为用户喜爱的应用。
为什么会有专项测试?
对于普通应用开发团队而言,开展应用专项的测试,往往存在诸多难点。不同的专项领域测试,环境要求不同,测试工程师需要具备相应的测试技能也不同,这意味着测试执行需要投入较大的成本。测试执行结束后,对测试数据进一步挖掘,深度分析等,同样也非常依赖测试工程师的专业度。
DevEco Testing 让应用专项测试,变得更简单、更专业、更智能!通过将专业测试服务化,既省去了环境搭建过程,也降低了测试门槛,专项测试不再局限于测试人员,开发人员也可以将应用测试前置,在开发阶段就能进行自测,随时开发随时测试,最终实现测试前移的目的。
除了稳定性测试外,DevEco Testing 还提供了应用拨测、性能测试、安全测试、应用标准测试等其他应用专项测试能力,为开发自测试 - 集成测试 - 上架测试提供了一站式测试服务,帮助应用团队轻松应对应用测试全场景,助力打造 HarmonyOS 高品质应用。详细阅读:《玩转 HarmonyOS 专项测试》