Google 致力于为黑人社区推动种族平等。查看具体举措
此页面由 Cloud Translation API 翻译。
Switch to English

通过Firebase测试实验室开始针对Android进行测试

Firebase测试实验室可让您在各种设备和配置上测试您的应用程序。本入门指南为您提供了一个实现路径,以及对Test Lab的Android产品的介绍。

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

关键概念

当您针对所选的设备和配置运行一个测试或一组测试用例时,测试实验室将针对您的应用批量运行该测试,然后将结果显示为测试矩阵

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

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

步骤1 :准备要上传到测试实验室的测试

可用的测试类型

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

  • 仪器测试仪器单元测试:您使用EspressoUI Automator 2.0框架编写的测试。通过此测试,您可以对应用程序的状态做出明确的断言,以使用AndroidJUnitRunnerAPIs验证正确的功能。

  • Robo测试:一种自动测试,它分析您的应用程序的UI,然后通过模拟用户活动来有条不紊地进行探索,而无需您编写任何代码。有关更多信息,请访问关于机器人测试

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

    • 编写游戏引擎固有的测试

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

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

    请参阅运行游戏循环测试,以获取有关通过测试实验室运行此测试的说明。

运行测试的工具

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

  • 推荐首次使用的用户:Firebase控制台可让您上载应用程序并从Web浏览器启动测试。有关使用此工具运行测试的说明,请参阅使用Firebase控制台进行测试。

  • 通过Android Studio集成,您可以在不离开开发环境的情况下测试您的应用程序。有关使用此工具运行测试的说明,请参见使用Android Studio进行测试。

  • gcloud命令行界面使您可以从命令行以交互方式运行测试,并且非常适合作为自动化构建和测试过程的一部分进行脚本编写。有关使用此工具运行测试的说明,请参见使用gcloud CLI进行测试。

当您使用Alpha或Beta通道将应用的APK文件上传并发布到Play商店时,还可以通过Test Lab免费测试您的应用。有关更多信息,请参阅使用发布前报告来识别问题和进行Robo测试

第2步:选择您的测试设备

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

步骤3 :查看测试结果

无论您如何启动测试,所有测试结果均由测试实验室管理,并且可以在线查看。

测试结果摘要将自动存储,并且可以在Firebase控制台中查看。它包含与您的测试最相关的数据,包括特定于测试用例的视频,屏幕截图,通过,失败或出现不稳定结果的测试数量等等。

原始测试结果包含测试日志和应用程序故障详细信息,并自动存储在Google Cloud存储桶中。如果指定存储桶,则由您负责存储成本。如果您未指定存储桶,则“测试实验室”会免费为您创建一个存储桶。

有关更多详细信息,请参阅分析Firebase测试实验室结果。

Android Studio启动测试时,您还可以在开发环境中查看测试结果。

设备清理

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

对于测试实验室使用的虚拟设备,设备实例在使用后将被删除,以便每次测试运行都使用一个新的虚拟设备实例。


附加信息

测试实验室和Google Play服务

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

测试实验室和移动广告

对于使用或与数字广告提供商(例如,广告网络,需求方平台)合作的应用程序开发人员以及对于数字广告提供商:

测试实验室为开发人员提供了可扩展的应用程序测试基础架构,可自动执行应用程序测试。不幸的是,这种功能可能会被旨在产生欺诈性广告收入的恶意应用滥用。

要缓解此问题,请执行以下操作:

  • 应用程序开发人员应通知与他们合作的任何数字广告提供商,以过滤出收入以及从属于测试提供商(包括测试实验室)的设备产生的所有相应流量。

  • 数字广告提供商可以通过过滤源自以下IP地址块的流量来过滤广告收入和测试实验室生成的所有相应流量(请注意,您还可以使用gcloud CLI中的gcloud beta firebase test ip-blocks list命令访问此列表):

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

108.177.6.0/23

70.32.147.112/28(自03-2020添加)

74.125.122.32/29(从04-2020开始)

108.177.29.80/28(从04-2020开始)

216.239.44.24/29(从04-2020开始)

Android虚拟设备

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