Google 致力于为黑人社区推动种族平等。查看具体举措

开始使用 Firebase 测试实验室对 Android 进行测试

Firebase 测试实验室可让您在各种设备和配置上测试您的应用。本入门指南提供了可供您遵循的实施路径,以及对测试实验室的 Android 产品的介绍。

有关测试实验室配额和定价计划的信息,请参阅使用,配额和定价

关键概念

当你运行一个测试或一组测试案例对设备和您所选择的配置,测试实验室对运行在一个批处理您的应用程序测试,然后显示结果作为测试矩阵

设备 × 测试执行 = 测试矩阵

设备
您运行测试的物理或虚拟设备(仅限 Android),例如手机、平板电脑或可穿戴设备。测试矩阵中的设备由设备型号、操作系统版本、屏幕方向和区域设置(也称为地理和语言设置)标识。
测试,测试执行
要在设备上运行的测试(或一组测试用例)。您可以为每个设备运行一个测试,也可以选择将测试分片并在不同的设备上运行其测试用例。
测试矩阵
包含测试执行的状态和测试结果。如果矩阵中的任何测试执行失败,则整个矩阵都会失败。

第1步:准备测试上传到测试实验室

可用的测试类型

您可以使用测试实验室运行以下测试。请注意,所有测试类型仅限于在物理设备上运行 45 分钟,在虚拟设备上运行 60 分钟。任何未捕获的异常都会导致测试失败。

  • 测试仪器仪表单元测试:测试你使用的书面咖啡UI的Automator 2.0框架。有了这个测试,你可以让你的应用程序的状态,明确断言,以验证正确的使用功能AndroidJUnitRunnerAPIs

  • 机器人测试:一个自动化测试,分析你的应用程序的用户界面,然后通过模拟用户的活动,而无需编写任何代码有条不紊地探索它。访问关于机器人测试以获取更多信息。

  • 游戏循环测试:一个使用“演示模式”,以在游戏类应用的模拟玩家的动作测试。这是一种快速且可扩展的方式来验证您的游戏是否对用户表现良好。当您选择运行游戏循环测试时,您可以:

    • 为您的游戏引擎编写本机测试

    • 避免为不同的 UI 或测试框架编写相同的代码

    • 选择创建多个循环在一个单一的测试执行运行(访问关于游戏回路测试,以了解更多信息)。您还可以使用标签来组织循环,以便跟踪它们并重新运行特定的循环。

    请参见运行游戏环路测试的说明,运行这个测试与测试实验室。

运行测试的工具

您可以选择以下工具来运行您的测试:

当您使用 Alpha 或 Beta 渠道将应用的 APK 文件上传并发布到 Play 商店时,您还可以通过测试实验室免费测试您的应用。欲了解更多信息,请参阅使用前推出的报告,以确定问题机器人的测试

步骤2:选择你的测试设备

测试实验室支持在 Google 数据中心内安装和运行的多种品牌和型号的 Android 设备上进行测试。在测试实验室中对设备进行测试可帮助您检测在 Android Studio 中使用模拟器测试您的应用时可能不会出现的问题。要了解更多信息,请参阅可用设备。

第3步:查看测试结果

无论您如何开始测试,您的所有测试结果都由测试实验室管理并可在线查看。

测试结果总结自动存储,并且可以在火力地堡控制台来查看。它包含与您的测试最相关的数据,包括特定于测试用例的视频、屏幕截图、通过、失败或获得不稳定结果的测试数量等。

原始测试结果含有测试日志和应用程序故障的详细信息,并自动存储在谷歌云桶。如果您指定存储桶,则您需要承担存储成本。如果您不指定存储桶,测试实验室会免费为您创建一个。

有关详细信息,请参阅分析火力地堡测试实验室结果。

当您启动从测试Android Studio中,你也可以从你的开发环境中查看测试结果。

设备清理

Google 非常重视您应用数据的安全性。我们遵循行业标准的最佳实践,在每次测试运行后删除应用程序数据并重置物理设备的系统设置,以确保它们准备好运行新测试。对于我们可以使用自定义恢复映像刷新的设备,我们通过在测试运行之间刷新这些设备更进一步。

对于Test Lab使用的虚拟设备,设备实例使用后会被删除,以便每次测试运行使用一个新的虚拟设备实例。


测试实验室和 Google Play 服务

测试实验室设备通常在最新版本的 Google Play 服务 SDK 上运行,但有些设备可能需要在新版本 SDK 发布后几天进行更新。请注意,您可能会遇到某些设备的兼容性问题。

允许测试设备访问私有后端服务器

一些移动应用程序需要与私有后端服务通信才能在测试期间正常运行。如果你的后端服务器通过防火墙规则的保护,您可以通过使用允许测试实验室的物理和虚拟设备访问下面的IP地址块通过你的防火墙开放的路线。

移动广告

测试实验室提供了一个可自动进行应用测试的可扩展基础设施,不幸的是,该功能可能会被旨在产生欺诈性广告收入的恶意应用滥用。

为了缓解这个问题:

  • 如果您使用或与第三方数字广告提供商(例如广告网络或需求方平台)合作,建议您在应用开发和测试过程中使用测试广告而不是真实广告。

  • 如果您必须在您的测试中使用真实的广告,通知您筛选出收入和通过使用从测试实验室生成的所有相应的交通工作的数字广告提供商以下IP地址块。您无需通知 Google 拥有的广告提供商;测试实验室会为您处理这些。

测试实验室设备使用的 IP 地址

通过测试实验室设备产生的所有网络流量从以下来源于IP地址块。请注意,您还可以通过访问此列表gcloud beta firebase test ip-blocks list中gcloud CLI命令。该列表会定期更新(平均每年一次)。

平台和设备类型CIDR IP 地址块
Android 和 iOS 物理设备

108.177.6.0/23

70.32.147.112/28(2020 年 3 月添加)

74.125.122.32/29(04-2020 添加)

108.177.29.80/28(04-2020 添加)

216.239.44.24/29(04-2020 添加)

安卓虚拟设备

34.68.194.64/29(11-2019 添加)

34.69.234.64/29(11-2019 添加)

34.73.34.72/29(11-2019 添加)

34.73.178.72/29(11-2019 添加)

35.192.160.56/29

35.196.166.80/29

35.196.169.240/29

35.203.128.0/28

35.234.176.160/28

35.243.2.0/27(7-2019 添加)

199.192.115.0/30

199.192.115.8/30

199.192.115.16/29