Catch up on everthing we announced at this year's Firebase Summit. Learn more

Запускайте тесты с Android Studio

Firebase Test Lab предоставляет облачную инфраструктуру для тестирования приложений Android и имеет полную интеграцию с Android Studio для запуска инструментальных тестов и просмотра результатов тестирования.

В этом руководстве описывается, как изменить инструментальные тесты в Android Studio, чтобы вы могли интегрировать и запускать их с Test Lab. Инструкции по использованию Lab Test из Android Studio UI создать тестовую матрицу, запустить Instrumented тест, а также просматривать результаты тестирования, см Выполнить тесты с Lab Test Firebase .

Снимать скриншоты

Test Lab обеспечивает поддержку создания снимков экрана при выполнении инструментальных тестов. Чтобы узнать , как делать скриншоты см Добавить библиотеку скриншота к вашему проекту .

Создавайте тесты с помощью Espresso Test Recorder

Инструмент Espresso Test Recorder позволяет создавать тесты пользовательского интерфейса для вашего приложения без написания тестового кода. Вы можете записывать свои взаимодействия с устройством и добавлять утверждения для проверки элементов пользовательского интерфейса в определенных снимках вашего приложения. Затем Espresso Test Recorder берет сохраненную запись и автоматически генерирует соответствующий тест пользовательского интерфейса Espresso, который вы можете запустить для тестирования своего приложения в Test Lab.

Чтобы узнать больше, см Создание тесты пользовательского интерфейса с Espresso Recorder Test .

Изменить поведение инструментального теста для Test Lab

Test Lab предоставляет системную переменную, которую вы можете добавить в свои инструментальные тесты, чтобы вы могли заставить их вести себя иначе, когда вы запускаете их в Test Lab, чем когда вы запускаете их на своем собственном тестовом устройстве или эмуляторе.

В следующем примере кода считывает системное свойство, firebase.test.lab и задает строку, testLabSetting к true , если тест работает в лаборатории испытаний. Затем он использует значение этой строки, чтобы контролировать выполнение дополнительных операторов:

Джава

String testLabSetting = Settings.System.getString(getContentResolver(), "firebase.test.lab");
if ("true".equals(testLabSetting)) {
    // Do something when running in Test Lab
    // ...
}

Котлин + KTX

val testLabSetting = Settings.System.getString(contentResolver, "firebase.test.lab")
if ("true" == testLabSetting) {
    // Do something when running in Test Lab
    // ...
}