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ć zestaw testów, 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 Espresso Test Recorder 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. Espresso Test Recorder 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ą na potrzeby 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ład kodu 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ą Firebase Test Lab wtyczki umożliwiają przeprowadzanie zautomatyzowanych testów z instrumentacją na dużą skalę na Test Lab urządzeniach 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 dotychczasowej historii 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 przypadku procesów CI/CD.
Aby włączyć inteligentne dzielenie testów za pomocą wtyczki Gradle Managed Devices Test Lab plugin, postępuj zgodnie z instrukcjami podanymi w artykule Optymalizowanie przebiegów testów za pomocą inteligentnego dzielenia testów .