目录

场景化体检

场景化体检支持页面滑动、页面间转场、冷启动等多种测试场景,开发者可以基于实际的应用场景进行测试。

使用约束

使用26.0.0以下版本的DevEco Studio进行性能相关的测试时,要求DevEco Studio版本与设备API版本配套;从DevEco Studio 26.0.0版本开始,DevEco Studio兼容API 20及以上的设备,无需与设备API版本配套,对于API 20以下的设备,DevEco Studio版本仍需与设备API版本配套。

前置操作

  1. 通过以下任意一种方式,打开AppAnalyzer。
    • 点击菜单栏Tools > AppAnalyzer,打开AppAnalyzer页面。
    • 在编辑窗口右侧的工具栏,点击AppAnalyzer或,打开AppAnalyzer页面。
  2. 连接设备或启动模拟器,并对应用进行签名。
  3. 如果使用DevEco Studio 6.0.1版本,未配置Python环境时,请根据界面提示,下载Python及三方库。或者点击AppAnalyzer底部Python 配置按钮进行配置。
  4. 如果使用DevEco Studio 6.0.0 Beta2之前的版本,需要先编译生成HAP或HSP。使用Beta2及以上的版本,无需提前编译。

进行体检

[h2]DevEco Studio 6.0.1 Beta1及以上版本

  1. 点击右上角图标选择Product、Target和构建模式,点击Apply后,在AppAnalyzer的首页中可查看对应的编译产物和构建模式。关于Product、Target、构建模式的介绍请参考配置多目标产物和指定构建模式。

  2. 在AppAnalyzer页面,选择场景化体检,选择预置的体检卡片,或根据需要自定义卡片。
    • 点击预置的卡片开始体检,如需查看卡片包含的体检场景,请点击卡片右上角的按钮,不同场景对应的检测指标请参考体检场景。
    • 如果需要自定义体检场景,点击+,选择自动/手动测试和体检场景,部分场景可修改单次录制时长/测试总时长,请根据界面提示进行修改。
  3. 开始体检后,请等待AppAnalyzer完成构建、签名、安装等操作。如果本次体检依赖Python三方库并且本地未安装,AppAnalyzer会同步下载安装三方库。在测试过程中,请保持连接的设备为解锁亮屏状态。
    • 如果是自动测试,根据界面提示,登录应用账号后点击继续按钮,继续测试;或者无需登录账号,直接点击按钮继续测试。
    • 如果是手动测试,根据界面提示,点击开始按钮开始录制,并手动遍历应用/元服务的功能。如果在录制时间范围内未遍历完成,可继续点击按钮,进行多次遍历,遍历完成后点击结束按钮。
  4. 查看测试报告,包含以下内容。
    • 源文件、调优文件(包含trace文件和调用栈文件)或snapshot文件、时间戳等:点击源文件可跳转到问题源码,点击调优文件或snapshot文件支持直接拉起性能分析工具Profiler并导入性能检测的问题数据进行调优分析,点击时间戳可以打开Profiler并定位到问题发生的时间范围。
    • 分析文档:点击链接可跳转至官网文档,参考文档对检测出来的问题进行分析。
    • 优化建议:针对可能的故障原因,给出对应的最佳实践,点击链接可跳转至官网文档。

    从DevEco Studio 6.0.2 Beta1版本开始,如果在体检中遇到问题,可点击报告右上角的User Feedback向我们反馈。

    从DevEco Studio 6.1.0 Release版本开始,支持导出报告,以实现报告的共享,具体可查看导出报告。

[h2]DevEco Studio 6.0.1 Beta1以下版本

  1. 如果使用DevEco Studio 6.0.0 Beta2及以上的版本,支持在体检过程中自动编译构建打包。点击右上角图标选择Product、Target和构建模式,关于Product、Target、构建模式的介绍请参考配置多目标产物和指定构建模式。
  2. 在AppAnalyzer页面,选择场景化体检,选择自动或手动方式,模块选择框选择HarmonyOS应用/元服务工程模块。
    • 自动方式:体检时无需手动遍历,AppAnalyzer会自动检测。自动方式下还需要选择具体的运行时长。
    • 手动方式:体检时需要根据提示手动遍历HarmonyOS应用/元服务的功能。
    • 如果使用DevEco Studio 6.0.0 Beta2之前的版本,只有已经完成签名编译打包的模块才能被选中。
    • 支持同时添加多个模块,要求所有模块的bundleName相同,且只能包含一个entry。

  3. 勾选体检场景,不同场景对应的检测指标请参考体检场景,然后在AppAnalyzer页面底部单击开始按钮,开始测试。首次测试时,请根据AppAnalyzer的指引,下载Python及三方库,或者登录开发者账号并自动签名音频辅助检测APP。在测试过程中,请保持连接的设备为解锁亮屏状态。
    • 请勿在测试完成前点击结束,如果提前结束测试会导致测试结果不准确。
    • 支持Python 3.9~3.12版本,推荐使用Python 3.11.7版本。
  4. 如果是手动方式,在安装应用/元服务完成后,需要根据提示手动遍历HarmonyOS应用/元服务的功能。手动遍历完成后点击结束按钮停止测试任务,等待数据解析完成后,查看测试结果如下。
    • 测试报告:检测结果的汇总信息,默认展示告警和失败的检测结果,点击详情链接可跳转到对应场景的详情报告。

    • 详情报告:给出详细的测试结果、相关的定位文件和对应的优化建议。
      • 开始/结束页面、时间戳、调优文件(包含trace文件和调用栈文件)或snapshot文件等:点击开始/结束页面可跳转到问题源码,点击时间戳可以打开性能分析工具Profiler并定位到问题发生的时间范围,点击调优文件或snapshot文件支持直接拉起Profiler并导入性能检测的问题数据进行调优分析。
      • 分析文档:点击链接可跳转至官网文档,参考文档对检测出来的问题进行分析。
      • 优化建议:针对可能的故障原因,给出对应的最佳实践,点击链接可跳转至官网文档。

体检场景

[h2]性能

DevEco Studio 6.1.1 Beta1及以上版本

场景

子场景

检测指标/检测项

应用或元服务场景

自动或手动方式

页面转场

router或者navigation页面跳转

点击响应时延

应用,元服务

自动,手动

点击完成时延

转场卡顿率

起播时延

swiper滑动转场

滑动响应时延

滑动卡顿率

起播时延

tabs点击转场

点击响应时延

点击完成时延

转场卡顿率

tabs滑动转场

滑动响应时延

滑动卡顿率

起播时延

swiper点击转场

点击响应时延

点击完成时延

转场卡顿率

web页面跳转

点击响应时延

点击完成时延

其他页面跳转

点击响应时延

点击完成时延

页面滑动

页面滑动

滑动响应时延

应用,元服务

自动,手动

滑动卡顿率

滑动白块(仅预置的体检卡片“手动性能页面滑动体检(白块)”包含此检测项)

web页面滑动

滑动响应时延

滑动卡顿率

冷启动

冷启动

完成时延

应用,元服务

自动,手动

DevEco Studio 6.1.1 Beta1以下版本

场景

子场景

检测指标/检测项

应用或元服务场景

自动或手动方式

页面间转场

router或者navigation页面跳转

点击响应时延

应用,元服务

自动,手动

点击完成时延

转场卡顿率

起播时延

页面滑动

页面滑动(仅支持List、Grid、WaterFlow这三个组件实现的页面滑动)

滑动响应时延

应用,元服务

自动,手动

滑动卡顿率

滑动白块(仅预置的体检卡片“手动性能页面滑动体检(白块)”包含此检测项)

冷启动

冷启动

完成时延

应用,元服务

自动,手动

页面内转场

swiper滑动转场

滑动响应时延

应用,元服务

自动,手动

滑动卡顿率

起播时延

tabs点击转场

点击响应时延

点击完成时延

转场卡顿率

tabs滑动转场

滑动响应时延

滑动卡顿率

起播时延

swiper点击转场

(从DevEco Studio 6.0.2 Beta1版本开始支持)

点击响应时延

点击完成时延

转场卡顿率

web场景

(从DevEco Studio 6.0.0 Beta2版本开始支持)

web页面跳转

点击响应时延

应用,元服务

自动,手动

点击完成时延

web页面滑动

滑动响应时延

滑动卡顿率

[h2]功能兼容性

场景

子场景

检测指标/检测项

应用或元服务场景

自动或手动方式

音频播控服务

(从DevEco Studio 5.1.0 Release版本开始支持)

播控中心音频控制场景

播控中心控制音频播放检测

应用

手动

播控中心控制音频暂停检测

播控中心控制歌曲切换上一首检测

播控中心控制歌曲切换下一首检测

播控中心控制歌曲播放进度条拖动检测

播控中心控制歌曲循环播放检测

播控中心控制歌曲收藏检测

音频焦点切换

(从DevEco Studio 5.1.0 Release版本开始支持)

来电接听场景

音频焦点变化事件响应检测

应用

手动

VoIP通话场景

闹钟场景

导航场景

语音助手播报场景

静音播放场景

非静音播放场景

普通录音场景

音频设备控制

(从DevEco Studio 5.1.0 Release版本开始支持)

耳机控制音频场景

耳机控制音频播放检测

应用

手动

耳机控制音频暂停检测

耳机控制歌曲切换上一首检测

耳机控制歌曲切换下一首检测

耳机断开场景

耳机断开事件响应检测

运行异常

(从DevEco Studio 6.1.0 Beta1版本开始支持)

运行异常

运行无兼容性问题

应用,元服务

自动

API兼容性问题

[h2]多设备

场景

检测指标/检测项

应用或元服务场景

自动或手动方式

说明

截断

参考UX规则的布局基础要求

应用,元服务

自动,手动

从26.0.0版本开始支持。

支持所有手机及对应的模拟器。

大图大字

参考UX规则的图标文字大小适中、

弹出框大小适中、

宫格图片信息量适中、

单图信息量适中、

上下图文信息量适中

从26.0.0版本开始支持。

仅支持API 20及以上的双折叠、三折叠、Pura X Max手机和模拟器。

留白

参考UX规则的边距适中

从26.0.0版本开始支持。

仅支持API 20及以上的双折叠、三折叠、Pura X Max手机和模拟器。

避让区遮挡

参考UX规则的挖孔区适配、

状态栏、

底部导航条适配

从26.0.0版本开始支持。

支持所有手机及对应的模拟器。

基础

参考UX规则的

点击热区、

应用图标、

元服务图标、

布局基础要求、

色彩对比度、

字体大小、

界面图标、

横竖屏适配、

图标清晰度、

开合连续性、

离手减速动效一致性、

元服务胶囊满足规范、

元服务底部导航栏满足规范

从26.0.0版本开始支持。

支持所有手机及对应的模拟器。

[h2]功耗

场景

子场景

检测指标/检测项

应用或元服务场景

自动或手动方式

前台静置

(从DevEco Studio 6.1.0 Beta1版本开始支持)

前台静置

前台不可见动效

应用

自动,手动

UI空跑

未使用硬件合成

前台进程高负载