跳到主要内容

场景化体检

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

前置操作

  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及以上的版本,无需提前编译。

进行体检

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版本开始,如果在体检中遇到问题,可点击报告右上角的用户反馈向我们反馈。

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

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并导入性能检测的问题数据进行调优分析。
      • 分析文档:点击链接可跳转至官网文档,参考文档对检测出来的问题进行分析。
      • 优化建议:针对可能的故障原因,给出对应的最佳实践,点击链接可跳转至官网文档。

体检场景

性能

场景子场景检测指标/检测项应用或元服务场景自动或手动方式
页面间转场router或者navigation页面跳转点击响应时延应用,元服务自动,手动
点击完成时延
转场卡顿率
起播时延
页面滑动页面滑动(仅支持List、Grid、WaterFlow这三个组件实现的页面滑动)滑动响应时延应用,元服务自动,手动
滑动卡顿率
冷启动冷启动完成时延应用,元服务自动,手动
页面内转场swiper滑动转场滑动响应时延应用,元服务自动,手动
滑动卡顿率
起播时延
tabs点击转场点击响应时延
点击完成时延
转场卡顿率
tabs滑动转场滑动响应时延
滑动卡顿率
起播时延
swiper点击转场 (从DevEco Studio 6.0.2 Beta1版本开始支持)点击响应时延
点击完成时延
转场卡顿率
web场景 (从DevEco Studio 6.0.0 Beta2版本开始支持)web页面跳转点击响应时延应用,元服务自动,手动
点击完成时延
web页面滑动滑动响应时延
滑动卡顿率

功能兼容性

场景子场景检测指标/检测项应用或元服务场景自动或手动方式
音频播控服务 (从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兼容性问题

多设备

多设备测试支持以下设备:

  • API 20及以上的双折叠、三折叠手机和模拟器。
  • API 20及以上的Pura X Max手机和模拟器。
场景检测指标/检测项应用或元服务场景自动或手动方式
折叠开合 (从DevEco Studio 6.0.2 Beta1版本开始支持)参考UX规则应用,元服务手动

功耗

场景子场景检测指标/检测项应用或元服务场景自动或手动方式
前台静置 (从DevEco Studio 6.1.0 Beta1版本开始支持)前台静置前台不可见动效应用自动,手动
UI空跑
未使用硬件合成
CPU负载异常