Uruchom testy w Android Studio

Firebase Test Lab zapewnia infrastrukturę opartą na chmurze do testowania aplikacji na Androida i oferuje pełną integrację z Android Studio w celu przeprowadzania testów instrumentalnych i przeglądania wyników testów.

W tym przewodniku opisano, jak modyfikować testy instrumentowane w Android Studio, aby można było je zintegrować i uruchomić w laboratorium testowym. Instrukcje dotyczące korzystania z Laboratorium testowego z interfejsu użytkownika Android Studio w celu utworzenia macierzy testów, uruchomienia testu oprzyrządowanego i wyświetlenia wyników testu znajdziesz w artykule Uruchamianie testów w laboratorium testowym Firebase .

Przechwytuj zrzuty ekranu

Laboratorium testowe zapewnia obsługę przechwytywania zrzutów ekranu podczas uruchamiania testów instrumentalnych. Aby dowiedzieć się jak przechwytywać zrzuty ekranu, zobacz Dodawanie biblioteki zrzutów ekranu do swojego projektu .

Twórz testy za pomocą Rejestratora testów Espresso

Narzędzie Rejestrator testów espresso umożliwia tworzenie testów interfejsu użytkownika aplikacji bez pisania kodu testowego. Możesz nagrywać swoje interakcje z urządzeniem i dodawać asercje w celu weryfikacji elementów interfejsu użytkownika w poszczególnych migawkach aplikacji. Rejestrator testu Espresso następnie pobiera zapisane nagranie i automatycznie generuje odpowiedni test interfejsu użytkownika Espresso, który możesz uruchomić, aby przetestować aplikację w laboratorium testowym.

Aby dowiedzieć się więcej, zobacz Tworzenie testów interfejsu użytkownika za pomocą Rejestratora testów espresso .

Modyfikuj zachowanie testów oprzyrządowanych dla laboratorium testowego

Laboratorium testowe udostępnia zmienną systemową, którą możesz dodać do testów oprzyrządowanych, dzięki czemu możesz sprawić, że będą się zachowywać inaczej po uruchomieniu w laboratorium testowym niż wtedy, gdy uruchomisz je na własnym urządzeniu testowym lub emulatorze.

Poniższy przykład kodu odczytuje właściwość systemową firebase.test.lab i ustawia ciąg testLabSetting na true , jeśli test jest uruchomiony w laboratorium testowym. Następnie używa wartości tego ciągu do kontrolowania, czy wykonywane są dodatkowe instrukcje:

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
    // ...
}

Korzystaj z urządzeń zarządzanych przez Gradle za pośrednictwem wtyczki Firebase Test Lab

Gradle Managed Devices za pośrednictwem wtyczki Firebase Test Lab umożliwia uruchamianie zautomatyzowanych testów instrumentalnych na dużą skalę na urządzeniach Test Lab w oparciu o konfiguracje w plikach Gradle projektu.

Urządzenia zarządzane Gradle oferują również inteligentne sharding, które umożliwia optymalną dystrybucję testów pomiędzy fragmentami w oparciu o poprzednią historię testów. Dzięki inteligentnemu shardingowi fragmenty działają przez mniej więcej taki sam czas i zwracają wyniki testów tak szybko, jak to możliwe. Inteligentne sharding umożliwia równoległe uruchamianie dużych zestawów testów, dzięki czemu ta funkcja dobrze nadaje się do przepływów CI/CD.

Aby włączyć inteligentne fragmentowanie za pomocą wtyczki Gradle Managed Devices Test Lab, postępuj zgodnie z instrukcjami w temacie Optymalizacja przebiegów testowych za pomocą inteligentnego fragmentowania .