Firebase Test Lab zapewnia infrastrukturę w chmurze do testowania aplikacji na Androida. Oferuje też pełną integrację z Android Studio na potrzeby uruchamiania testów z wykorzystaniem instrumentacji i sprawdzania 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 dotyczące korzystania z Test Lab w interfejsie Android Studio do tworzenia macierzy testów, przeprowadzania testów z użyciem pomiarów i wyświetlania wyników testów znajdziesz w artykule Przeprowadzanie testów za pomocą Firebase Test Lab.
Zrób zrzuty ekranu
Test Lab obsługuje robienie zrzutów ekranu podczas wykonywania testów z użyciem instrumentacji. Więcej informacji o robieniu zrzutów ekranu znajdziesz w artykule Dodawanie biblioteki zrzutów ekranu do projektu.
Tworzenie testów za pomocą narzędzia Espresso Test Recorder
Narzędzie Espresso Test Recorder umożliwia tworzenie testów UI aplikacji bez pisania kodu testowego. Możesz nagrywać swoje interakcje z urządzeniem i dodawać stwierdzenia, aby weryfikować elementy interfejsu w określonych migawkach aplikacji. Na podstawie zapisanego nagrania narzędzie Espresso Test Recorder automatycznie wygeneruje odpowiedni test interfejsu Espresso, który możesz uruchomić, aby przetestować aplikację w Test Lab.
Więcej informacji znajdziesz w artykule o tworzeniu testów UI w narzędziu Espresso Test Recorder.
Modyfikowanie zachowania testu w Laboratorium w przypadku Test Lab
Funkcja Test Lab udostępnia zmienną systemową, którą możesz dodać do testów instrumentowanych. Dzięki temu możesz spowodować, że będą działały inaczej po uruchomieniu w Test Lab niż na własnym urządzeniu testowym lub w emulatorze.
Podany poniżej przykład kodu odczytuje właściwość systemową firebase.test.lab
i ustawi ciąg znaków testLabSetting
na true
, jeśli test jest wykonywany w trybie Test Lab.
Następnie używa wartości tego ciągu znaków do określenia, czy mają być wykonywane 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 // ... }
Używanie urządzeń zarządzanych przez Gradle za pomocą wtyczki Firebase Test Lab
Urządzenia zarządzane przez Gradle za pomocą wtyczki Firebase Test Labumożliwiają uruchamianie automatycznych testów z instrumentacją na dużą skalę na urządzeniach Test Labna podstawie konfiguracji w plikach Gradle projektu.
Urządzenia zarządzane przez Gradle oferują też inteligentne dzielenie na fragmenty, które umożliwia optymalne rozprowadzanie testów na fragmenty na podstawie poprzedniej historii testów. Dzięki inteligentnemu dzieleniu na części poszczególne części działają przez mniej więcej taki sam czas i zwracają wyniki testu tak szybko, jak to możliwe. Inteligentne dzielenie na fragmenty umożliwia uruchamianie dużych zestawów testów w tym samym czasie, dzięki czemu ta funkcja doskonale sprawdza się w przypadku procesów CI/CD.
Aby włączyć inteligentne dzielenie za pomocą wtyczki Urządzenia zarządzane przez Gradle Test Lab, postępuj zgodnie z instrukcjami podanymi w artykule Uruchomienia testów Optimize z inteligentnym dzieleniem.