Запуск тестов с помощью Android Studio

Firebase Test Lab предоставляет облачную инфраструктуру для тестирования приложений Android и обеспечивает полную интеграцию с Android Studio для запуска инструментальных тестов и просмотра результатов тестов.

В этом руководстве описывается, как изменить инструментальные тесты в Android Studio, чтобы вы могли интегрировать и запускать их с помощью Test Lab. Инструкции по использованию Test Lab из пользовательского интерфейса Android Studio для создания тестовой матрицы, запуска инструментального теста и просмотра результатов теста см. в разделе Запуск тестов с помощью Firebase Test Lab .

Захват скриншотов

Test Lab поддерживает создание снимков экрана при выполнении инструментальных тестов. Чтобы узнать, как делать снимки экрана, см. раздел Добавление библиотеки снимков экрана в ваш проект .

Создание тестов с помощью регистратора тестов эспрессо

Инструмент Espresso Test Recorder позволяет создавать тесты пользовательского интерфейса для вашего приложения без написания тестового кода. Вы можете записывать свои взаимодействия с устройством и добавлять утверждения для проверки элементов пользовательского интерфейса в определенных моментальных снимках вашего приложения. Затем средство записи тестов эспрессо берет сохраненную запись и автоматически создает соответствующий тест пользовательского интерфейса эспрессо, который вы можете запустить для тестирования своего приложения в тестовой лаборатории.

Дополнительные сведения см. в разделе Создание тестов пользовательского интерфейса с помощью средства записи тестов Espresso .

Изменение поведения инструментированного теста для Test Lab

Test Lab предоставляет системную переменную, которую вы можете добавить к своим инструментальным тестам, чтобы вы могли заставить их вести себя иначе, когда вы запускаете их в Test Lab, чем когда вы запускаете их на своем собственном тестовом устройстве или эмуляторе.

В следующем примере кода считывается системное свойство firebase.test.lab и задается для строки testLabSetting значение true , если тест выполняется в лаборатории тестирования. Затем он использует значение этой строки для управления выполнением дополнительных операторов:

Java

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

Kotlin+KTX

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