衡量流畅度和前台内存
“应用KPI可视化”工具可帮助您监控和优化以下关键应用性能指标: 前台内存、用户界面流畅度和视频流畅度
前台内存
测量应用处于活动状态时的实际使用物理内存 (RSS),包括共享和私有RAM内存。监控前台内存以检测以下期间的内存消耗:
- 应用启动
- 前后台切换
- 内存密集型操作
用户界面和视频流畅度
追踪以下操作是否流畅:
- 用户界面互动
- 视频播放质量
低流畅度会导致用户界面延迟和视频帧丢失,从而降低用户满意度。
评估应用性能的流程包括:
通过遵循此流程,您可以提前检测并解决流畅度问题和前台内存消耗过高问题,避免影响用户。
先决条件
在衡量应用的用户界面和视频流畅度之前,请先完成以下操作:
-
下载、构建和安装Vega视频应用。
按照Vega视频应用文档(即将在GitHub上提供)中的说明进行操作。
下载应用后,可前往
samples目录查看示例测试场景。请根据您应用的具体要求遵照指南来操作。 -
安装Appium服务器和Appium Vega驱动程序。
按为Vega集成安装Appium中的步骤1-4进行操作。
您需要利用自动化工具Appium来编写脚本和衡量应用的流畅度。
记录用户界面交互
-
按照在Appium检查器中检查应用中的步骤1-6进行操作。
开始录制 -
单击Start Recording(开始记录)图标,开始与应用的用户界面交互。
记录用户界面交互 -
在屏幕的左侧面板上,单击Tap/Swipe by Coordinate ([+])(按坐标点击/滑动 ([+]))图标。
生成测试场景脚本
要准确测量KPI,请创建一个测试场景来定义以下方面的预期用户界面互动:
- 前台内存监控
- 用户界面流畅度评估
- 视频流畅度评估
这样的测试场景可以确保KPI测量结果反映真实的用户交互模式。
要生成测试场景脚本,请完成以下操作
-
在VS Code中,打开命令面板。
Mac: Shift + Command ⌘ + P
Linux: Shift + Ctrl + P
命令面板 -
输入Vega: Generate test scenario template。
创建文件名 -
为测试场景脚本创建文件名。
在您生成模板后,VS Code会显示一条消息。
成功生成模板的消息 Python是适用于此模板的语言。在模板中,您可以找到TestRunner类,其中包含两个成员:
prep(在蓝框中)run(在红框中)
TestRunner 在测试期间,每个成员执行的功能:
创建测试场景
每个选项卡都提供了一个测试场景,用于模拟应用中的用户界面交互和视频播放。
亚马逊Fire TV Stick包括一个带黑色圆形方向键(方向键)的遥控器。
在本部分中,您将创建测试场景,通过模拟方向键输入来切换应用中的用户界面组件。您需要编写代码,用该代码来再现遥控器的方向键功能。通过按下方向键,应用用户可以循环浏览选项或以其选择的特定方向改变所选择的项。您的代码应在应用的用户界面中实现相同的导航体验。
要模拟方向键输入,请执行以下步骤:
-
在Appium检查器中,前往Commands(命令)选项卡并选择Execute Script(执行脚本)> executeScript。
此操作将用户界面交互命令从Appium检查器发送到Vega设备。
-
要模拟按下遥控器上方向键的操作,请通过以下参数使用
executeScript方法:
-
executeScriptCommand -使用
jsonrpc: injectInputKeyEvent发送代表方向键按下操作的按键事件。 -
jsonArgument - 具有以下属性的JSON对象:
-
inputKeyEvent(字符串)- 方向键方向的按键事件值。要查阅方向键的代码,请参阅Appium命令中的方向键导航部分。
-
holdDuration(数字)- 模拟按住方向键的时间长度(以毫秒为单位)。对于单次按下,使用0来进行模拟。
例如,复制以下代码并将其添加到jsonArgument以发送按住时间长度为0秒的方向键“向下”命令。
-
[[{"inputKeyEvent": "108", "holdDuration": 0}]]
示例:
-
生成测试场景模板并将从Appium检查器记录的用户界面交互复制到该模板中。
按照生成测试场景脚本中的步骤进行操作。
-
回到Appium检查器。
-
单击Recorder(记录器)选项卡以查看记录的代码。
在此测试场景中,目标是:
-
在没有用户界面交互的情况下以“就绪状态”启动应用。
-
衡量应用的用户界面流畅度,同时发送方向键以移动页面上的用户界面焦点。
从Appium检查器的Recorder框中复制代码时,您无需在prep成员函数中定义任何内容。Recorder会在记录会话期间捕获与应用的用户界面的交互。将代表记录的用户界面交互的代码粘贴到run成员函数中。在测试执行期间,代码在应用上执行相同的用户界面交互。
在下图中,该测试通过循环发送相同的方向键按下事件五次来模拟重复的用户输入。
在本部分中,您将:
- 创建测试场景,从Vega视频应用流式播放视频。
- 测量视频播放流畅度和第一帧时间视频流畅度 (TTFVF)。
- 使用Appium检查器与Vega视频应用进行交互并记录您的交互。
- 将记录的交互复制到生成测试场景脚本中您的测试场景模板中。
要模拟从Vega视频应用播放视频的场景,请按照以下步骤操作
-
在Appium检查器中,单击Tap/Swipe by Coordinate ([+])(按坐标点击/滑动 ([+]))图标。
光标变为十字线。
-
单击应用中您想要开始进行用户界面交互的用户界面元素。
开始用户界面交互 提示: 您的应用显示在屏幕的左侧面板中。 - 找到您要流式播放的测试视频缩略图。
- 点击测试视频缩略图,打开视频播放器界面。
- 然后点击播放按钮,开始流式播放视频。
- 回到Appium检查器。
- 单击Recorder(记录器)选项卡以查看记录的代码。
在此测试场景中,目标是:
- 启动Vega视频应用。
- 单击视频缩略图和播放按钮,启动视频播放。应用进入就绪状态模式以衡量视频播放的流畅度。
- 衡量所需时间长度内的视频播放流畅度。
在您的应用中定义两个关键函数:
prep是preparation(准备)的缩写。因此,它应该包含为迭代设置测试的操作。run成员函数应包含与测试迭代的实际KPI测量相关的操作。
prep成员函数结束时启动视频,这样KPI测量从run成员函数的活动视频播放开始。
在图片中:
prep(在蓝框中)成员函数代码导航到Vega视频应用轮播界面并开始播放视频。run(在红框中)成员函数用于衡量视频流的流畅度。
衡量应用的流畅度
-
在VS Code中打开命令面板。
Mac: Shift + Command ⌘ + P
Linux: Shift + Ctrl + P
-
输入Vega: Launch App KPI Visualizer。
用例的选择 -
从命令面板中选择一个用例。
记录CPU分析器 -
确保Record CPU Profiler(记录CPU分析器)复选框未勾选,然后按OK(确定)。
自定义测试场景对话框 -
在Custom Test Scenario(自定义测试场景)对话框中,选择Yes(是)。
测试场景脚本文件 -
选择您在生成测试场景脚本中生成的测试场景。
-
运行测试。
请参阅衡量应用KPI中的示例结果。
相关主题
Last updated: 2025年10月31日

