使用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。


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

在这一部分中,您可以控制在沙盒测试模式下,App Tester向您的应用返回哪些响应。App Tester返回一个SUCCESSFUL响应,无需人工干预。简单登录方法(getUserAndLinks() 和linkUserAccount())依赖于简单登录后端服务。您可以使用以下部分中的说明配置这些方法的响应。
GetUserAndLinks API
在沙盒模式下进行测试时,当您设置应用的账户关联时,App Tester会将关联账户的状态存储在本地数据库中。默认情况下,对getUserAndLinks() 方法的响应基于该数据库中账户关联的当前状态。
要测试应用如何处理特定场景,请配置响应设置并查看应用的行为。您可以使用以下图像中的界面作为参考指南。有关请求状态值的列表,请参阅RequestStatus。

使用模拟响应进行测试
在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中的测试数据恢复测试。

LinkUserAccount API
App Tester使用存储在其本地数据库中的关联令牌在本地处理账户关联请求。
与在App Tester中配置getUserAndLinks() 来测试您的应用的方式类似,您可以使用想要接收的响应来设置linkUserAccount() 方法(参见下面的屏幕截图)。有关请求状态值的列表,请参阅RequestStatus。

由于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的当前模式。此方法可能的返回值为:SANDBOXPRODUCTIONUNKNOWN
SDK模式应当为SANDBOX。如果SDK模式返回UNKNOWN,则表示您的应用中的亚马逊应用商店SDK初始化存在问题。检查您是否已调用SimpleSignInService#registerResponseHandler() 来注册应用上下文和响应处理程序。有关详细信息,请参阅步骤2: 注册具体实现。
管理关联账户
您可以删除存储在App Tester本地数据库中的关联账户。单击Unlink linked accounts(将关联账户取消关联)以清除当前用户的所有关联账户。

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


Last updated: 2026年2月17日

