Firebase Test Lab zapewnia opartą na chmurze infrastrukturę do testowania aplikacji na Androida i oferuje pełną integrację z Android Studio do przeprowadzania testów instrumentalnych i przeglądania wyników testów.
W tym przewodniku opisano, jak zmodyfikować testy instrumentalne w Android Studio, aby można je było zintegrować i uruchomić z Test Lab. Instrukcje dotyczące korzystania z Laboratorium testowego w interfejsie Android Studio do tworzenia macierzy testów, uruchamiania testu instrumentalnego i przeglądania wyników testu znajdziesz w artykule Uruchamianie testów w Firebase Test Lab .
Rób zrzuty ekranu
Test Lab zapewnia obsługę przechwytywania zrzutów ekranu podczas uruchamiania testów instrumentalnych. Aby dowiedzieć się, jak robić zrzuty ekranu, zobacz Dodawanie biblioteki zrzutów ekranu do projektu .
Twórz testy za pomocą Espresso Test Recorder
Narzędzie Espresso Test Recorder umożliwia tworzenie testów interfejsu użytkownika dla Twojej aplikacji bez pisania kodu testowego. Możesz rejestrować swoje interakcje z urządzeniem i dodawać asercje, aby weryfikować elementy interfejsu użytkownika w poszczególnych migawkach aplikacji. Espresso Test Recorder bierze następnie zapisane nagranie i automatycznie generuje odpowiedni test Espresso UI, który możesz uruchomić, aby przetestować swoją aplikację w Test Lab.
Aby dowiedzieć się więcej, zobacz Tworzenie testów interfejsu użytkownika za pomocą Espresso Test Recorder .
Zmodyfikuj zachowanie testu instrumentalnego dla laboratorium testowego
Test Lab udostępnia zmienną systemową, którą można dodać do testów instrumentalnych, dzięki czemu można spowodować, że będą zachowywać się inaczej, gdy zostaną uruchomione w Test Lab, niż gdy zostaną uruchomione na własnym urządzeniu testowym lub emulatorze.
Poniższy przykład kodu odczytuje właściwość systemową, firebase.test.lab
i ustawia ciąg, testLabSetting
na wartość true
, jeśli test jest uruchomiony w laboratorium testowym. Następnie używa wartości tego ciągu do kontrolowania, czy wykonywane są 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 // ... }