使用 Android Studio 运行测试

Firebase Test Lab 提供了用于测试 Android 应用的云基础架构,它与 Android Studio 完全集成,让您可以轻松运行插桩测试并查看测试结果。

本指南介绍如何在 Android Studio 中修改插桩测试,以便将其与 Test Lab 集成并运行这些测试。如需了解如何通过 Android Studio 界面使用 Test Lab 来创建测试矩阵,运行插桩测试,以及查看测试结果,请参阅使用 Firebase Test Lab 运行测试

捕捉屏幕截图

Test Lab 支持在运行插桩测试时捕捉屏幕截图。要了解如何捕捉屏幕截图,请参阅将屏幕截图库添加到项目

使用 Espresso 测试记录器创建测试

借助 Espresso 测试记录器工具,您可以为自己的应用创建界面测试,而无需编写任何测试代码。您可以记录自己与设备的交互,并添加断言来验证应用的特定快照中的界面元素。然后,Espresso 测试记录器会根据保存的记录自动生成 Espresso 界面测试。您可以在 Test Lab 中运行该测试来测试您的应用。

如需了解详情,请参阅使用 Espresso 测试记录器创建界面测试

修改 Test Lab 的插桩测试行为

Test Lab 提供了一个系统变量,您可以将其添加到插桩测试中,以使这些测试在 Test Lab 中运行时,其行为方式与在您自己的测试设备或模拟器上运行时不同。

以下代码示例会读取系统属性 firebase.test.lab,并将字符串 testLabSetting 设置为 true(如果测试在 Test Lab 中运行)。随后,它会使用此字符串的值来控制是否执行其他语句:

Kotlin+KTX

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}

Java

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

通过 Firebase Test Lab 插件使用 Gradle 管理的设备

借助 Gradle 通过 Firebase Test Lab 插件管理的设备,您可以根据项目的 Gradle 文件中的配置,在 Test Lab 设备上运行大规模的自动化插桩测试。

Gradle 管理的设备还提供智能分片功能,可让您根据之前的测试记录,实现理想的测试分布。借助智能分片功能,分片的运行时间大致相同,而且系统会尽快返回测试结果。借助智能分片功能,您可以并行运行大型测试套件,这一点使得此功能非常适合 CI/CD 流程。

如需使用 Gradle 管理的设备 Test Lab 插件启用智能分片功能,请按照利用智能分片优化测试运行中的说明操作。