
本文原创发布在华为开发者联盟社区,欢迎前往与更多开发者进行互动。更多相关问题可点击原帖进行交流:“答开发者问”之HarmonyOS技术问题解析 第18期 。
本期问题如下:
5、HarmonyOS NEXT应用测试都有哪些工具可以使用,它们的使用场景有哪些区别?
问题一:如何比较方便的获取设备的 UDID?
使用命令符时出现:'hdc' 不是内部或外部命令,也不是可运行的程序或批处理文件。请问如何通过 hdc 命令获取设备的 UDID?
解决方案:
可以使用 hdc shell bm get --udid 获取设备 UDID。
关于'hdc' 不是内部或外部命令,也不是可运行的程序或批处理文件这个问题,需要将 DevEcoStudio 的安装目录 DevEcoStudio\sdk\default\openharmony\toolchains 配置到系统环境变量 path 里,详情可参考HDC配置。
原链接:
如何比较方便的获取设备的UDID啊?-华为开发者问答 | 华为开发者联盟 (huawei.com)
问题二:无内购无广告且不联网的游戏上架时是否需要版号?
我是个人开发者,写了个小游戏,无内购,无广告,也不联网,上架时是否需要版号?
解决方案:
根据华为应用市场的审核要求,单机游戏需要版号。
以下是具体说明:游戏版权与版号规定:
华为应用市场明确要求,无论单机还是网络游戏,均需提供 《网络游戏出版物号(ISBN)》或《版号批文》 等合法资质文件。该规定适用于所有在中国大陆地区发布的游戏应用。
资质审核流程:
游戏上架前必须通过 资质审核,且版号是核心审核项之一。若未提交有效版号,应用将无法通过审核。
常见误区澄清:
单机游戏是否例外?
否。华为应用市场未对单机游戏豁免版号要求,所有游戏类应用均需遵守国家新闻出版署的版号管理规定。
未调用联网功能是否影响?
不影响。即使游戏为纯单机模式,仍需提供版号。
原链接:
无内购,没有接入广告,不联网的小游戏上架时是否需要版号?-华为开发者问答 | 华为开发者联盟 (huawei.com)
问题三:怎么实现类似于练字的功能?
想要实现类似于练字的功能,有没有什么好的方法推荐?
解决方案:
可参考儿童练字板示例,通过Canvas展示了儿童练字板场景,为儿童提供了在移动设备上练习书法的机会。
通过 ontouch 事件,监听用户手指按下、滑动、抬起,获取触点坐标。
利用CanvasRenderingContext2D进行绘制。
利用 clearRect 方法删除画布指定区域的内容。
// 构造练字板的米字格
drawLine(ctx: CanvasRenderingContext2D, r: number);
// 手绘板的获取
Canvas(this.context){}
.ontouch();
// 删除画布指定区域的内容
context.clearRect(0, 0, this.canvasWidth, this.canvasHeight);
原链接:
怎么实现类似于练字的功能?-华为开发者问答 | 华为开发者联盟 (huawei.com)
问题四:Arkweb 如何正确加载 web 的当前 title?
使用 arkweb 的 onTitleReceive 获取 web 的 title 有时候并不是和 document.title 是一致的,而且 onTitleReceive 经常会返回 url 字符串,请问这种问题应该如何应对?
解决方案:
方案一:在onTitleReceive中通过 webController.getTitle()获取网页的标题。
方案二:通过runJavaScript执行 JavaScript 代码来获取文档的标题。
如果 getTitle 返回的是网页 url,那是因为当前网页未设置 title。正常来说通过 webController.getTitle()获取到的网页标题和 document.title 是一致,如果遇到不一致的情况,可以自由选择方式一或者二。
具体参考如下 demo:
import { webview } from '@kit.ArkWeb';import { BusinessError } from '@kit.BasicServicesKit';
@Entry@Componentstruct Question2 {context: Context = this.getUIContext()?.getHostContext() as Context;webviewController: webview.WebviewController = new webview.WebviewController();@State title: string = '';
原链接:
Arkweb如何正确加载web的当前title?-华为开发者问答 | 华为开发者联盟 (huawei.com)
问题五:HarmonyOS NEXT 应用测试都有哪些工具可以使用,它们的使用场景有哪些区别?
目前 HarmonyOS NEXT 应用测试都有哪些工具,这些工具的使用场景是什么呢?
解决方案:
【问题现象】
目前 HarmonyOS NEXT 应用测试都有哪些工具,这些工具的使用场景是什么呢?
【背景知识】
应用测试概述主要介绍 HarmonyOS NEXT 应用的单元测试、UI 测试和专项测试。AppGallery Connect云测试致力于提供便捷的一站式应用测试服务,解决应用开发、测试过程中面临的成本、技术和效率问题。应用体验建议主要介绍基础功能和兼容性、稳定性、功耗、性能、安全和 UX 这 6 大核心质量维度在开发阶段和测试阶段需要关注的体验建议。
【解决方案】
如下图所示,这是应用在开发过程中典型的测试活动模型和测试活动质量目标,一般分为单元测试,集成测试、UI 测试、体验测试和用户测试。
单元测试:通过自动化测试保障代码、函数逻辑实现正确,异常处理充分。
测试工具:开发者可基于 DevEco Studio 提供的单元测试框架JsUnit、UI 测试框架UITest和白盒性能测试框架PerfTest进行用例编写和自测试,支持黑盒覆盖率统计和Mock能力。
集成测试:组件实现符合设计,接口正确和组件完整。
测试工具:同单元测试,集成测试检查更大子系统的行为,或者多个类和函数的组合。
UI 测试:应用功能正确实现,用户场景目标可达成。
测试工具:使用基于 Python 语言的DevEco Testing Hypium进行 UI 自动化测试,提升测试效率。
体验测试:主要包括兼容性、稳定性、安全、性能、功耗、UX 等,开发者可通过专项测试工具来保证应用基础体验良好,流畅、精致、安全等。同时开发者在应用上架前可以提前进行上架预检测试,提前发现问题,提高上架审核通过率。
测试工具:
如果您本地有 HarmonyOS 真机设备,可使用DevEco Testing进行专项测试服务。优点:以服务卡片的形式呈现,安装工具后,即插即用,一键执行测试任务。
如果您本地无 HarmonyOS 真机设备,可使用云测试进行专项测试服务。优点:提供海量远程真机,无需开发者自备真机,可申请多台设备并行测试,解决应用开发、测试过程中面临的成本、技术和效率问题。
用户测试:用户感知卓越、好用、爱用。
测试工具:
原链接:
HarmonyOS NEXT应用测试都有哪些工具可以使用,它们的使用场景有哪些区别?-华为开发者问答 | 华为开发者联盟 (huawei.com)
答开发者问系列汇总:
往期问题回顾:
注意:
开发者小伙伴们,规范提问,高效沟通!更快得到问题答案的秘诀来啦,点击链接直达







评论