Как запускать тесты в 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 также поддерживают умное сегментирование, которое позволяет оптимально распределять тесты по сегментам на основе истории предыдущих тестов. При умном сегментировании сегменты выполняются примерно за одно и то же время и возвращают результаты тестирования максимально быстро. Благодаря умному сегментированию вы можете параллельно запускать большие наборы тестов, что делает эту функцию подходящей для рабочих процессов CI/CD.

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