as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
Ring
AWS
文档
Support
Contact Us
My Cases
开发
测试
应用发布
盈利
用户参与
设备规格
资源

使用App Tester测试您的应用

使用App Tester测试您的应用

App Tester是一种工具,允许在集成期间测试应用中的Appstore SDK功能,而无需向亚马逊应用商店发布更改。App Tester工具是一个APK,您可以在测试设备上安装它,它可以模拟所有Fire TV和平板电脑中内置的亚马逊应用商店客户端APK。App Tester会代替生产环境的亚马逊应用商店服务来处理您的应用请求。亚马逊应用商店SDK内置提供了三种主要功能(IAP、DRM和SSI),您可以使用App Tester来测试这三种功能。App Tester保留自己的本地数据存储,通过它为所有请求提供服务,而不会影响测试账户或设备的生产状态。

有关如何使用App Tester测试应用内购买 (IAP) API的更多详细信息,请参阅App Tester用户指南

您可以通过亚马逊应用商店获取App Tester APK。请访问Amazon App Tester页面,下载适用于您设备的APK。

使用App Tester进行测试

应用必须激活沙盒模式才能使用App Tester进行测试。使用ADB连接到设备(Fire TV/Fire平板电脑),并运行以下命令。

adb shell setprop debug.amazon.sandboxmode debug

安装并打开App Tester。要配置测试,请单击亚马逊应用商店SDK API

App Tester主页
App Tester主页
Appstore SDK功能可通过App Tester进行测试
Appstore SDK功能可通过App Tester进行测试

要配置和运行与SSI相关的测试,请使用简单登录API响应设置管理简单登录链接部分。

简单登录API响应设置

下图显示了App Tester中的简单登录API响应设置部分。

简单登录API响应设置
简单登录API响应设置

在这一部分中,您可以控制在沙盒测试模式下,App Tester向您的应用返回哪些响应。App Tester返回一个SUCCESSFUL响应,无需人工干预。简单登录方法(getUserAndLinks()linkUserAccount())依赖于简单登录后端服务。您可以使用以下部分中的说明配置这些方法的响应。

在沙盒模式下进行测试时,当您设置应用的账户关联时,App Tester会将关联账户的状态存储在本地数据库中。默认情况下,对getUserAndLinks() 方法的响应基于该数据库中账户关联的当前状态。

要测试应用如何处理特定场景,请配置响应设置并查看应用的行为。您可以使用以下图像中的界面作为参考指南。有关请求状态值的列表,请参阅RequestStatus

响应选项包括:Default、SUCCESSFUL、FAILURE、RETRYABLE_FAILURE、NOT_SUPPORTED、NOT_AVAILABLE、DUPLICATE_REQUEST和FEATURE_TURNED_OFF。
为GetUserAndLinks API配置响应

使用模拟响应进行测试

在App Tester中,您还可以配置getUserAndLinks(),以便在不引用本地数据库的情况下,使用即时生成的模拟响应进行响应。如果您不想在测试getUserAndLinks() 方法之前完成设置关联账户的额外工作,那么这个功能将非常有用。

选中Mocked response for GetUserAndLinks(GetUserAndLinks的模拟响应)复选框以启用此选项(请参阅下面的屏幕截图)。您可以根据您期望返回的关联账户的数量来选择您希望接收的模拟响应的类型。

  • 默认情况下,选择No linked accounts(无关联账户),这将导致响应中不返回任何关联账户。
  • 如果您选择One linked account(一个关联账户),App Tester返回的响应中会包含一个预先指定的关联账户的数据。
  • 如果您选择Two linked accounts(两个关联账户),App Tester返回的响应中会包含两个预先指定的关联账户的数据。

选择模拟响应选项不会清除存储在App Tester本地数据库中的任何测试数据。取消选中此复选框将允许您使用存储在App Tester中的测试数据恢复测试。

为GetUserAndLinks API配置模拟响应
为GetUserAndLinks API配置模拟响应

LinkUserAccount API

App Tester使用存储在其本地数据库中的关联令牌在本地处理账户关联请求。

与在App Tester中配置getUserAndLinks() 来测试您的应用的方式类似,您可以使用想要接收的响应来设置linkUserAccount() 方法(参见下面的屏幕截图)。有关请求状态值的列表,请参阅RequestStatus

响应选项包括:Default、SUCCESSFUL、FAILURE、RETRYABLE_FAILURE、NOT_SUPPORTED、NOT_AVAILABLE、DUPLICATE_REQUEST和FEATURE_TURNED_OFF。
为LinkUserAccount API配置响应

由于App Tester没有连接到亚马逊应用商店云,因此它无法访问应用的亚马逊应用商店私钥。因此,它无法解密新账户关联请求中提供的linkSigningKey。因此,在沙盒模式下从getUserAndLinks() 方法返回的SSI令牌将使用任意私有签名密钥进行签名。这些令牌将无法在您的云中使用应用的实际亚马逊应用商店公有密钥进行验证。

在开发的早期阶段,使用App Tester对Appstore SDK集成进行单元测试,并利用动态应用测试(LAT)进行端到端测试。要使用App Tester测试端到端流,请对后端进行额外更改,以区分来自应用调试版本的身份验证请求,并跳过SSI令牌签名验证。

App Tester故障排除

如果您怀疑没有为应用的SSI API调用正确调用App Tester,请检查以下方面:

  • 您进行测试时使用的是APK的调试版本。App Tester仅适用于应用的调试版本。
  • 您使用的是最新版本的App Tester。如果您之前安装了App Tester,则可能您现在用的是旧版本。要解决此问题,请卸载App Tester并安装最新版本。
  • 您的设备处于沙盒模式。您可以通过Appstore SDK中的SimpleSignInService类查询getSDKMode()方法,以确定Appstore SDK的当前模式。此方法可能的返回值为:

    • SANDBOX
    • PRODUCTION
    • UNKNOWN

SDK模式应当为SANDBOX。如果SDK模式返回UNKNOWN,则表示您的应用中的亚马逊应用商店SDK初始化存在问题。检查您是否已调用SimpleSignInService#registerResponseHandler() 来注册应用上下文和响应处理程序。有关详细信息,请参阅步骤2: 注册具体实现

管理关联账户

您可以删除存储在App Tester本地数据库中的关联账户。单击Unlink linked accounts(将关联账户取消关联)以清除当前用户的所有关联账户。

管理关联账户
管理关联账户

模拟您用户的体验

App Tester使用用户同意和登录屏幕的模拟实现。尽管这些屏幕在应用的生产屏幕中显示的详细信息相同,但与应用屏幕相比,这些屏幕的观感截然不同,而且没有经过修饰。

App Tester – 模拟的用户同意屏幕
App Tester – 模拟的用户同意屏幕
App Tester – 模拟的登录选择屏幕
App Tester – 模拟的登录选择屏幕

Last updated: 2026年2月17日