Запуск тестов с помощью 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 , следуйте инструкциям в разделе Оптимизация тестовых запусков с помощью интеллектуального сегментирования .