转到控制台

Firebase 测试实验室 Instrumentation 测试

Instrumentation 测试是您或您的团队专为测试您的应用而编写的测试(使用 EspressoUI Automator 2.0 测试框架)。测试实验室会为在此期间完成执行的所有测试用例提供结果。

在编写 Instrumentation 测试时,您需要再创建一个 APK 模块,然后将该模块与您的应用的 APK 模块一起上传到测试实验室。如需了解如何创建测试 APK,请参阅测试您的应用

Instrumentation 测试超时

Instrumentation 测试在真机上的运行时长上限是 30 分钟,而在虚拟设备上是 60 分钟。

使用 Orchestrator 独立运行测试

借助 Android Test Orchestrator 这一工具,您可以独立运行应用的每个 Instrumentation 测试。测试实验室始终使用最新版本的 Orchestrator。 使用 Orchestrator 有几个优势,但也有一个缺点:

优点:

  • 没有共享状态:每个测试都在自己的 Instrumentation 实例中运行,因此不会跨测试累积共享状态。
  • 隔离崩溃:如果某个测试崩溃,则系统只会终止该测试的 Instrumentation 实例,您套件中的其他测试仍然可以运行。

缺点:

  • 运行时间更长:每个测试都会运行自己的 Instrumentation 实例,这意味着测试过程总体上会稍微延长一些。运行时间增加可能会影响您的配额用量或计费时间,并可能导致您达到设备的超时限制

启用 Orchestrator

要为测试实验室启用 Orchestrator,请在 instrumentation 测试设置中点击高级选项 > 使用 Orchestrator 运行

通过分片加快测试速度

测试分片旨在将一组测试划分为多个独立运行的子组(分片)。测试实验室会使用多个设备自动并行运行各分片,并在更短的时间内完成整个测试集。

假设您创建了 N 个分片。对于您选择的每个设备,测试实验室会启动 N 个相同设备,并在每个设备上运行一部分测试。这意味着分片测试用例可能导致每个设备执行多个测试,而非分片测试用例通常会导致每个设备执行一个测试(有关测试实验室中关键概念的快速概述,请参阅关键概念)。

测试分片的结算方式

测试实验室利用 AndroidJUnitRunner 的内置分片机制来实现您的分片。为避免启动空分片(即没有分配测试用例的分片)产生费用,您创建的分片数量应少于测试用例的总数。根据每个测试用例的运行时长,通常最好为每个分片分配 2-10 个测试用例。

如需详细了解结算方式,请参阅 Blaze 方案的结算方式

启用测试分片

您可以使用 Firebase 控制台启用测试分片。如需启用测试分片,请执行以下操作:

  1. Instrumentation 测试设置中,点击高级选项

  2. 分片部分中,输入要运行的分片数量。