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.
Robienie zrzutów ekranu
Test Lab obsługuje robienie zrzutów ekranu podczas wykonywania testów z użyciem instrumentacji. 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 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 Tworzenie testów UI za pomocą narzędzia Espresso Test Recorder.
Modyfikowanie zachowania testu w Laboratorium 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 podczas uruchamiania w Test Lab niż na Twoim urządzeniu testowym lub 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 // ... }
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 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.