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 позволяет создавать UI-тесты для вашего приложения без написания какого-либо тестового кода. Вы можете записывать свои взаимодействия с устройством и добавлять утверждения для проверки элементов пользовательского интерфейса в конкретных снимках вашего приложения. Затем Espresso Test Recorder берет сохраненную запись и автоматически генерирует соответствующий UI-тест Espresso, который вы можете запустить для тестирования вашего приложения в Test Lab .
Для получения более подробной информации см. раздел «Создание UI-тестов с помощью 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
Использование плагина Firebase Test Lab для управления устройствами Gradle позволяет запускать автоматизированные инструментальные тесты в масштабе всего проекта на устройствах Test Lab , основываясь на конфигурациях, указанных в файлах Gradle вашего проекта.
Gradle Managed Devices также предлагает интеллектуальное шардирование, которое позволяет оптимально распределять тесты по шардам на основе истории предыдущих тестов. Благодаря интеллектуальному шардированию, шарды работают примерно одинаковое количество времени и возвращают результаты тестов максимально быстро. Интеллектуальное шардирование позволяет запускать большие наборы тестов параллельно, что делает эту функцию хорошо подходящей для CI/CD-процессов.
Чтобы включить интеллектуальное сегментирование с помощью плагина Gradle Managed Devices Test Lab , следуйте инструкциям в разделе «Оптимизация тестовых запусков с помощью интеллектуального сегментирования» .