Запуск тестов с помощью 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 Managed Devices через плагин Firebase Test Lab

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

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

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