as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
新手入门
设计和开发
应用发布
参考
支持

衡量流畅度和前台内存

衡量流畅度和前台内存

应用KPI可视化工具可帮助您监控和优化应用的性能: 前台内存、用户界面流畅度和视频流畅度

前台内存

测量应用处于活动状态时的实际使用物理内存 (RSS),包括共享和私有RAM。监控前台内存以检测以下期间的内存消耗:

  • 应用启动
  • 前后台切换
  • 内存密集型操作

用户界面和视频流畅度

跟踪用户界面交互的流畅度性能和视频播放质量。低流畅度会导致用户界面延迟和视频帧丢失,从而降低用户满意度。

评估应用性能的流程包括:

通过遵循此流程,您可以提前检测并解决流畅度问题和前台内存消耗过高问题,避免影响用户。

先决条件

在衡量应用的用户界面和视频流畅度之前,请先完成以下操作:

  1. 下载、构建和安装Vega视频应用。

    按照Vega视频应用文档中的说明进行操作。

    下载应用后,可前往samples目录查看示例测试场景。请根据您应用的具体要求遵照指南来操作。

  2. 安装Appium服务器和Appium Vega驱动程序。

    为Vega集成安装Appium中的步骤1-4进行操作。

    您需要利用自动化工具Appium来编写脚本和衡量应用的流畅度。

  3. 下载Appium检查器

记录用户界面交互

  1. 按照在Appium检查器中检查应用中的步骤1-6进行操作。

    屏幕截图,示出了开始记录的按钮的位置。
  2. 选择Start Recording(开始记录)图标,开始与应用的用户界面交互。

    屏幕截图,示出记录按钮为红色,这表示您正在记录。
  3. 在屏幕的左侧面板上,选择Tap/Swipe by Coordinate ([+])(按坐标点击/滑动 ([+]))图标。

生成测试场景脚本

要准确测量KPI,请创建一个测试场景来定义以下方面的预期用户界面互动:

  • 前台内存监控
  • 用户界面流畅度评估
  • 视频流畅度评估

这样的测试场景可以确保KPI测量结果反映真实的用户交互模式。

生成脚本

  1. 在VS Code中,打开命令面板。

    Mac: Shift+Command ⌘+P

    Linux: Shift + Ctrl + P

  2. 输入Vega: Generate test scenario template(Vega:生成测试场景模板)。

    屏幕截图,示出了您在命令面板中输入的“Vega: Generate test scenario template”(Vega:生成测试场景模板)命令。
  3. 为测试场景脚本创建文件名。

    屏幕截图,示出了“Save”(保存)弹出窗口,您可以在其中命名脚本。

    在您生成模板后,VS Code会显示一条消息。

    屏幕截图,示出了成功消息,该消息告知您模板已在您选择的文件路径上成功生成。

理解Python脚本

Python是适用于此模板的语言。在模板中,您可以找到TestRunner类,其中包含两个成员:

  • prep(在框中)
  • run(在“”框中)
屏幕截图,示出了包含准备和运行函数代码的蓝色和红色方框。

在测试期间,每个成员执行的功能:

  • prep - 在运行实际测试场景之前执行所有必要的准备工作。

    例如,要播放视频,请在此成员函数中定义导航和播放代码。

    有关prep的示例,请参见创建测试场景

  • run - 为您的测试案例定义用户界面交互和操作。

    例如,要测量一段时间内的视频播放流畅度,请调用sleep函数等待该时长。

创建测试场景

每个选项卡都提供了一个测试场景,用于模拟应用中的用户界面交互和视频播放。


亚马逊Fire TV Stick包括一个带黑色圆形方向键(方向键)的遥控器。

屏幕截图,示出了亚马逊Fire TV Stick遥控器。黑色方向键位于顶部,在电源按钮下方。

在本部分中,您将创建测试场景,通过模拟方向键输入来切换应用中的用户界面组件。您需要编写代码,用该代码来再现遥控器的方向键功能。通过按下方向键,应用用户可以循环浏览选项或以其选择的特定方向改变所选择的项。您的代码应在应用的用户界面中实现相同的导航体验。

要模拟方向键输入,请执行以下步骤:

一个GIF动画,向您展示如何创建测试场景。
  1. 在Appium检查器中,前往Commands(命令)选项卡并选择Execute Script(执行脚本)> executeScript

    此操作将用户界面交互命令从Appium检查器发送到Vega设备。

  2. 要模拟按下遥控器上方向键的操作,请通过以下参数使用executeScript方法:

    • executeScriptCommand -使用jsonrpc: injectInputKeyEvent发送代表方向键按下操作的按键事件。

    • jsonArgument - 具有以下属性的JSON对象:

      • inputKeyEvent(字符串)- 方向键方向的按键事件值。要查阅方向键的代码,请参阅Appium命令中的方向键导航部分。

      • holdDuration(数字)- 模拟按住方向键的时间长度(以毫秒为单位)。对于单次按下,使用0来进行模拟。

    例如,要发送按住持续时间为0秒的方向键“向下”命令,请将以下代码添加到jsonArgument

    已复制到剪贴板。

    [[{"inputKeyEvent": "108", "holdDuration": 0}]]
    

    示例:

    屏幕截图,示出了Appium检查器用户界面,您可以在其中添加jsonAgrument的脚本。
  3. 生成测试场景模板并将从Appium检查器记录的用户界面交互复制到该模板中。

    按照生成测试场景脚本中的步骤进行操作。

  4. 回到Appium检查器。

  5. 选择Recorder(记录器)选项卡以查看记录的代码。

测试场景目标

  • 在没有用户界面交互的情况下以“就绪状态”启动应用。

  • 衡量应用的用户界面流畅度,同时发送方向键以移动页面上的用户界面焦点。

从Appium检查器的Recorder框中复制代码时,您无需在prep成员函数中定义任何内容。Recorder会在记录会话期间捕获与应用的用户界面的交互。将代表记录的用户界面交互的代码粘贴到run成员函数中。在测试执行期间,代码在应用上执行相同的用户界面交互。

在下图中,该测试通过循环发送相同的方向键按下事件五次来模拟重复的用户输入。

屏幕截图,示出了方向键按下事件。

在本部分中,您将:

  1. 创建测试场景,从Vega视频应用流式播放视频。
  2. 测量视频播放流畅度和第一帧时间视频流畅度 (TTFVF)。
  3. 使用Appium检查器与Vega视频应用进行交互并记录您的交互。
  4. 将记录的交互复制到生成测试场景脚本中您的测试场景模板中。

模拟从Vega视频应用播放视频的场景

动画GIF,示出了创建测试场景的过程。
  1. 在Appium检查器中,选择按坐标点击/滑动 ([+]) 图标。

    光标变为十字线。

  2. 选择应用中您想要开始进行用户界面交互的用户界面元素。

    动画GIF,示出了如何在用户界面中开始交互。
  3. 找到您要流式播放的测试视频缩略图。
  4. 点击测试视频缩略图,打开视频播放器界面。
  5. 然后点击播放按钮,开始流式播放视频。
  6. 回到Appium检查器。
  7. 选择记录器选项卡以查看记录的代码。

在此测试场景中,目标是:

  • 启动Vega视频应用。
  • 选择视频缩略图和播放按钮,启动视频播放。应用进入就绪状态模式以衡量视频播放的流畅度。
  • 衡量所需时间长度内的视频播放流畅度。

在您的应用中定义两个关键函数:

  • prep是preparation(准备)的缩写。因此,它应该包含为迭代设置测试的操作。
  • run成员函数应包含与测试迭代的实际KPI测量相关的操作。
屏幕截图,示出了准备和运行成员函数。

在图片中:

  • prep(在框中)成员函数代码导航到Vega视频应用轮播界面并开始播放视频。
  • run(在框中)成员函数用于衡量视频流的流畅度。

衡量应用的流畅度

  1. 在VS Code中打开命令面板。

    Mac: Shift+Command ⌘+P

    Linux: Shift+Ctrl+P

  2. 输入Vega: Launch App KPI Visualizer(Vega:启动应用KPI可视化工具)。

    屏幕截图,示出了您可以选择的用例的列表。
  3. 从命令面板中选择一个用例。

    屏幕截图,示出了将Record CPU Profiler(记录CPU分析器)作为要捕获的资源。
  4. 确保Record CPU Profiler复选框未勾选,然后按OK(确定)。

    屏幕截图,示出了对话框,该对话框询问您是否要使用自定义测试场景,您可以在其中选择是或否。
  5. Custom Test Scenario(自定义测试场景)对话框中,选择Yes(是)。

    屏幕截图,示出了测试场景的脚本文件。
  6. 选择您在生成测试场景脚本中生成的测试场景。

  7. 运行测试。

请参阅衡量应用KPI中的示例结果。


Last updated: 2026年4月14日