用于验证集成的测试案例
用于验证集成的测试案例
重要须知: 亚马逊完成配置工作之后,这些测试才可以运行,请与亚马逊联系人协调进度。
- 主屏幕标题显示
- 多个亚马逊个人资料之间的内容隔离
- 播放事件
- 验证应用是否仅在数据处于前台而不是在后台时发送数据
- 验证用户观看视频时,应用是否每1分钟发送1次播放事件,该事件带有当前播放位置
- 验证应用是否发送了直播线性内容的播放事件
- 验证用户暂停播放时,应用是否发送播放状态为“pause”的播放事件
- 验证用户快进或快退内容时,应用是否发送播放状态为“playing”的播放事件
- 验证当用户使用遥控器上的主页按钮退出播放时,应用是否发送播放状态为“exit”的播放事件
- 验证当用户使用遥控器上的返回按钮退出播放时,应用是否发送播放状态为“exit”的播放事件
- 验证在播放广告、预览等内容时,应用是否发送播放状态为“interstitial”的播放事件
- 验证在集成内容个性化API之前捕获的播放事件是否未显示在Continue Watching行中
- 验证应用是否未发送儿童个人资料(应用个人资料)的数据
- 在不支持的Fire OS生产版本中使用内容个性化API集成验证应用
- 播放列表
- 播放列表数据
用户界面验证
主屏幕标题显示
验证在应用中观看视频时是否在Continue Watching行中显示内容磁贴
测试步骤
验证在应用中观看视频时是否在Continue Watching行 (继续观看行)(以下简称CWR) 中显示内容磁贴。
- 在Fire TV设备上安装该应用(如果基于订阅,则需要登录)。
- 打开应用。
- 开始观看内容,然后跳至或前进到总时间长度至少2%的位置。
- 退出应用并转到Home(主页)选项卡。
- 验证内容磁贴是否显示在Home选项卡的CWR中。
注意: 播放位置应介于总时间长度的2%-92%之间,这样才会在CWR中出现磁贴。如果内容的总时间长度为60分钟,则应跳到1分钟到55分钟之间,这样才会在CWR中显示内容磁贴。
重要须知: 如果没有看到内容显示在CWR中,可能是因为该行需要更新。您可以等待一两分钟让该行刷新,也可以通过导航到Settings(设置)> Account & Profile Settings(账户和个人资料设置)> Sync HAQM Content(同步亚马逊内容),来强制刷新。
预期结果
- 观看的内容磁贴应作为Home选项卡的第一行显示在CWR中。
- 从Home选项卡进入观看内容磁贴 → 播放应从时间戳开始,即用户退出播放时留下的时间戳位置开始。
注意: 行的位置在将来可能会更改。如果发现位置更改,请联系您的亚马逊联系人以核实更新的位置。

多个亚马逊个人资料之间的内容隔离
验证用一个亚马逊个人资料在应用内观看视频时,是否不会在同一设备上的不同亚马逊个人资料上的CWR中显示相同的内容磁贴
测试步骤
- 在Fire TV设备上安装应用(如果基于订阅,则需要登录)。
- 在设备上切换到亚马逊个人资料1。
- 打开应用。
- 开始观看内容,然后跳至或前进到总时间长度至少2%的位置。
- 退出应用并转到Home选项卡。
- 验证内容磁贴是否显示在个人资料1的Home选项卡的CWR中。
- 在同一设备上切换到个人资料2。
- 验证个人资料1中的内容是否未显示在当前个人资料中。
- 播放个人资料2中的内容。
- 验证个人资料2播放的内容是否显示在Home选项卡的CWR中。
- 切换回个人资料1并验证个人资料2中的磁贴是否未添加到个人资料1中的CWR中。


预期结果
- 内容磁贴会被隔离至其原始播放的亚马逊个人资料。
观看活动数据
播放事件
验证应用是否仅在数据处于前台而不是在后台时发送数据
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 开始观看内容,观看时间达到总时间长度的2%以上,并且持续到播放事件发送到亚马逊。
- 在播放期间按下主页按钮退出应用。
- 至少等待5分钟或更长时间,然后验证退出应用后播放事件是否未发送到亚马逊。
预期结果
- 仅当应用处于前台时,才应将数据发送给亚马逊。
- 如果监控SDK日志,当应用处于后台时(退出应用后,达到5分钟或更长时间),SDK中不应记录任何数据。
验证用户观看视频时,应用是否每1分钟发送1次播放事件,该事件带有当前播放位置
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 开始观看内容,观看时间超过总时间长度的2%,然后继续观看5分钟。
- 验证是否每隔1分钟向亚马逊发送一次带有当前播放位置的播放事件。
预期结果
- SDK日志应包含5个播放事件(每1分钟1个事件)。
- 事件日志中的
playbackPositionMs
值必须与当前播放位置一致,并且应随着每个新事件的出现而增加。 creditsPositionMs
的值应小于事件日志中的总时间长度。
验证应用是否发送了直播线性内容的播放事件
注意: 这适用于您的应用包含直播线性内容的情况。
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 观看直播线性内容。
- 验证是否每隔1分钟向亚马逊发送一次带有当前播放位置的播放事件。
预期结果
- 应用应每隔1分钟发送一次带有当前播放位置的播放事件。
验证用户暂停播放时,应用是否发送播放状态为“pause”(暂停)的播放事件
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 开始观看内容,然后暂停。
- 验证应用是否发送播放状态为“pause”且带有当前播放位置的播放事件。
预期结果
- 应用应当发送播放状态为“pause”且带有当前播放位置的播放事件。
验证用户快进或快退内容时,应用是否发送播放状态为“playing”(正在播放)的播放事件
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 开始观看内容,然后向前跳过内容,然后快退内容。
- 验证应用是否发送播放状态为“playing”且带有当前播放位置的播放事件。
预期结果
- 应用应当发送播放状态为“playing”且带有当前播放位置的播放事件。
验证当用户使用遥控器上的主页按钮退出播放时,应用是否发送播放状态为“exit”(退出)的播放事件
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 开始观看内容,然后使用主页按钮退出。
- 验证应用是否发送播放状态为“exit”且带有当前播放位置的播放事件。
预期结果
- 应用应当发送播放状态为“exit”且带有当前播放位置的播放事件。
验证当用户使用遥控器上的返回按钮退出播放时,应用是否发送播放状态为“exit”的播放事件
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 开始观看内容,然后使用返回按钮退出。
- 验证应用是否发送播放状态为“exit”且带有当前播放位置的播放事件。
注意: 如果点击返回按钮时内容仍在应用的后台进行播放,则此测试可能不适用于该应用。在这种情况下,应用应继续发送播放状态为“playing”的播放事件。
预期结果
- 应用应当发送播放状态为“exit”且带有当前播放位置的播放事件。
验证在播放广告、预览等内容时,应用是否发送播放状态为“interstitial”(间隙)的播放事件。
注意: 这仅在您的应用在播放之前、之后或播放时有广告、预览等内容时适用。
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 开始观看可能有预览或广告的内容。
- 验证应用是否发送播放状态为“interstitial”且带有当前播放位置的播放事件。
注意: 当间隙内容结束且实际内容开始播放时,应用应将播放状态切换回“playing”。
预期结果
- 应用应当发送播放状态为“interstitial”且带有当前播放位置的播放事件。
验证在集成内容个性化API之前捕获的播放事件是否未显示在Continue Watching行中
测试步骤
- 在Fire TV设备上安装并启动应用(如果基于订阅,则需要登录)。
- 验证CWR是否显示启用集成(内容个性化API)后观看的观看活动内容(播放事件)。
预期结果
- 在与内容个性化API集成后,CWR应显示用户正在观看的内容。
- CWR不应显示在集成内容个性化API之前观看的内容。
验证应用是否未发送儿童个人资料(应用个人资料)的数据
注意: 仅当您的应用支持儿童个人资料时,此项测试才适用。
测试步骤
- 在Fire TV设备上登录亚马逊账户。
- 选择亚马逊个人资料(成人)账户。
- 打开应用并登录。
- 选择孩子的个人资料。
- 观看视频并验证数据是否未发送到亚马逊。
预期结果
- 不应在使用儿童的个人资料时发送数据。
在不支持的Fire OS生产版本中使用内容个性化API集成验证应用
注意: 在不同的Fire OS设备(例如AFTT)上对此进行测试。
测试步骤
- 使用未添加到亚马逊OTA池的设备。
- 导航到Settings > My Fire TV(我的Fire TV)> About(关于)> Check for Updates(检查更新),用生产版本安装所有更新。
- 重复此操作,直到收到消息“Your Fire TV is up-to-date”(您的Fire TV已是最新)。
- 安装集成了内容个性化API的应用。
- 打开应用并观看视频。
- 在安装、启动、播放内容以及将内容添加到播放列表时,验证应用是否不会崩溃。
预期结果
- 在安装、启动、播放内容或将内容添加到播放列表时,应用不应崩溃。
- 使用以下命令时您不应看到任何日志:
adb logcat | grep -E "FTVIntegrationSDK"
播放列表、订阅和权利数据
播放列表
验证应用启动时或登录应用时应用是否在发送数据(播放列表)
测试步骤
无需注册即可观看内容(免费应用)
- 使用以下命令监控logcat:
adb logcat | grep "FTVIntegrationSDK"
。 - 在Fire TV设备上安装并启动应用。
需要注册才能观看内容(基于订阅的应用)
- 在Fire TV设备上安装并启动应用。
- 使用以下命令监控logcat:
adb logcat | grep "FTVIntegrationSDK"
。 - 登录应用。
预期结果
无需注册即可观看内容(免费应用)
- 验证在应用启动时是否将数据发送给亚马逊。
- 在日志中验证是否发送了正确的数据。如果用户有播放列表,则应在日志中看到显示播放列表信息的日志。
- 验证日志是否表明应用启动时在调用
setCustomerList
方法。
注意: 验证应用可以发送给亚马逊的所有适用数据。
需要注册才能观看内容(基于订阅的应用)
- 验证在登录应用时是否将数据发送给亚马逊。
- 在日志中验证是否发送了正确的数据。如果用户有播放列表,则应在日志中看到显示播放列表信息的日志。
- 如果应用支持创建无订阅的账户,则验证是否发送了任何空订阅列表。
- 验证日志是否表明应用启动时在调用
setCustomerList
方法。
注意: 验证应用可以发送给亚马逊的所有适用数据。
播放列表数据
验证将内容添加到播放列表时的情况
测试步骤
- 安装并登录测试应用。
- 转到任何内容详情页面或进行等效导航,将内容添加到播放列表。
- 将内容添加到用户的播放列表。
预期结果
- SDK记录添加到播放列表的内容。
示例: SDK日志将显示与以下示例类似的条目。
addCustomerListEntries invoked by package: com.starz.starzplay.firetv with data: List(HAQMCustomerListEntry(addedTimestampMs=1705432510548)) and HAQMCustomerListType: 播放列表。
验证从播放列表中删除内容的情况
测试步骤
- 安装并登录测试应用
- 在测试之前,将任何特定内容添加到播放列表中
- 将内容从用户的播放列表中删除
预期结果
- 验证SDK日志确认是否有将内容从播放列表删除的条目
示例: SDK日志将显示与以下示例类似的条目。
removeCustomerListEntries invoked by package: com.starz.starzplay.firetv with data: List(HAQMCustomerListEntry(addedTimestampMs=-1)) and HAQMCustomerListType: 播放列表。****
Last updated: 2025年4月1日