Как запускать тесты в 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 Recorder позволяет создавать тесты интерфейса для приложения без написания кода. Вы можете записать свои действия на устройстве и добавить утверждения, чтобы проверить элементы интерфейса в определенных моментах работы приложения. Затем Espresso Test Recorder возьмет сохраненную запись и автоматически создаст соответствующий тест интерфейса Espresso, который можно запустить для тестирования приложения в Test Lab.

Подробнее о том, как создавать тесты интерфейса с помощью Espresso Test Recorder…

Как изменить ход автоматизированного тестирования для Test Lab

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

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

Kotlin

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
    // ...
}

Как использовать управляемые устройства Gradle с помощью плагина Firebase Test Lab

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

Управляемые устройства Gradle также поддерживают интеллектуальное сегментирование, которое позволяет оптимально распределять тесты по сегментам на основе истории тестирования. При использовании умного сегментирования сегменты выполняются примерно одинаковое время и возвращают результаты тестирования как можно быстрее. Благодаря интеллектуальному сегментированию можно запускать большие наборы тестов параллельно, что делает эту функцию подходящей для процессов непрерывной интеграции и непрерывной доставки.

Чтобы включить умное разделение с помощью плагина Gradle Managed Devices Test Lab, следуйте инструкциям в статье Как оптимизировать выполнение тестов с помощью умного разделения.