Запуск тестов с помощью 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+KTX

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