Firebase Test Lab udostępnia infrastrukturę w chmurze do testowania aplikacji na Androida i jest w pełni zintegrowany z Android Studio, co umożliwia przeprowadzanie testów z instrumentacją i sprawdzanie ich wyników.
Z tego przewodnika dowiesz się, jak modyfikować testy z instrumentacją w Android Studio, aby można było je integrować i uruchamiać w Test Lab. Instrukcje dotyczące korzystania z Test Lab w interfejsie Android Studio, aby utworzyć macierz testową, uruchomić test z instrumentacją i wyświetlić wyniki testu, znajdziesz w artykule Uruchamianie testów za pomocą Firebase Test Lab.
Zrób zrzuty 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ą 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 rejestrować interakcje z urządzeniem i dodawać asercje, aby weryfikować elementy interfejsu użytkownika w określonych migawkach aplikacji. Rejestrator testów Espresso zapisuje nagranie i automatycznie generuje odpowiedni test interfejsu użytkownika Espresso , który możesz uruchomić, aby przetestować aplikację w Test Lab.
Więcej informacji znajdziesz w artykule Tworzenie testów interfejsu użytkownika za pomocą rejestratora testów Espresso.
Modyfikowanie zachowania testów z instrumentacją w 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.
Ten przykładowy kod odczytuje właściwość systemową firebase.test.lab, i
ustawia ciąg znaków testLabSetting na true, jeśli test jest uruchamiany 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ą wtyczki Firebase Test Lab umożliwiają uruchamianie zautomatyzowanych testów z instrumentacją na dużą skalę na urządzeniach Test Lab na podstawie konfiguracji w plikach Gradle projektu.
Urządzenia zarządzane przez Gradle oferują też inteligentne dzielenie testów, które umożliwia optymalne rozdzielanie testów na fragmenty na podstawie historii poprzednich testów. Dzięki inteligentnemu dzieleniu testów fragmenty działają przez mniej więcej ten sam czas i jak najszybciej zwracają wyniki testów. Inteligentne dzielenie testów umożliwia równoległe uruchamianie dużych pakietów testów, co sprawia, że ta funkcja doskonale sprawdza się w procesach CI/CD.
Aby włączyć inteligentne dzielenie testów za pomocą wtyczki Test Lab do urządzeń zarządzanych przez GradleTest Lab, postępuj zgodnie z instrukcjami w artykule Optymalizowanie przebiegów testów za pomocą inteligentnego dzielenia testów .