Przeprowadzanie testów w Android Studio

Firebase Test Lab zapewnia infrastrukturę w chmurze do testowania aplikacji na Androida i jest w pełni zintegrowane z Androidem Studio, co umożliwia uruchamianie testów z instrumentacją i sprawdzanie wyników.

Z tego przewodnika dowiesz się, jak modyfikować testy z instrumentacją w Android Studio, aby można było je integrować i uruchamiać za pomocą Test Lab. Instrukcje tworzenia macierzy testowej za pomocą Test Lab w interfejsie Android Studio, przeprowadzania testu z instrumentacją i wyświetlania wyników testu znajdziesz w artykule Przeprowadzanie testów za pomocą Firebase Test Lab.

Robienie zrzutów ekranu

Test Lab obsługuje robienie zrzutów ekranu podczas przeprowadzania testów z instrumentacją. Aby dowiedzieć się, jak robić zrzuty ekranu, przeczytaj artykuł Dodawanie biblioteki zrzutów ekranu do projektu.

Tworzenie testów za pomocą Espresso Test Recorder

Narzędzie Espresso Test Recorder umożliwia tworzenie testów interfejsu aplikacji bez pisania kodu testowego. Możesz nagrywać interakcje z urządzeniem i dodawać asercje, aby weryfikować elementy interfejsu w określonych zrzutach aplikacji. Rejestrator testów Espresso zapisuje nagranie i automatycznie generuje odpowiedni test interfejsu Espresso, który możesz uruchomić, aby przetestować aplikację w Test Lab.

Więcej informacji znajdziesz w artykule Tworzenie testów interfejsu za pomocą narzędzia Espresso Test Recorder.

Modyfikowanie zachowania testu w przypadku Test Lab

Test Lab udostępnia zmienną systemową, którą możesz dodać do testów z instrumentacją, aby zachowywały się inaczej, gdy uruchamiasz je w Test Lab, niż gdy uruchamiasz je na własnym urządzeniu testowym lub emulatorze.

Poniższy przykład kodu odczytuje właściwość systemu firebase.test.lab i ustawia ciąg znaków testLabSetting na true, jeśli test jest uruchomiony w Test Lab. Następnie używa wartości tego ciągu znaków, aby określić, czy mają być wykonywane dodatkowe instrukcje:

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

Korzystanie z urządzeń zarządzanych przez Gradle za pomocą wtyczki Firebase Test Lab

Urządzenia zarządzane przez Gradle za pomocą Firebase Test Labwtyczki umożliwiają przeprowadzanie zautomatyzowanych testów instrumentalnych na dużą skalę na Test Laburządzeniach na podstawie konfiguracji w plikach Gradle projektu.

Urządzenia zarządzane przez Gradle oferują też inteligentne dzielenie na fragmenty, które umożliwia optymalne rozdzielanie testów na fragmenty na podstawie historii poprzednich testów. Dzięki inteligentnemu dzieleniu na partycje partycje działają przez mniej więcej ten sam czas i jak najszybciej zwracają wyniki testów. Inteligentne dzielenie na partycje umożliwia równoległe uruchamianie dużych zestawów testów, dzięki czemu ta funkcja doskonale sprawdza się w przypadku przepływów CI/CD.

Aby włączyć inteligentne dzielenie na partycje za pomocą wtyczki Urządzenia zarządzane przez Gradle, postępuj zgodnie z instrukcjami podanymi w artykule Optymalizowanie przebiegów testów za pomocą inteligentnego dzielenia na partycje.Test Lab