Firebase Test Lab zapewnia infrastrukturę działającą w chmurze do testowania aplikacji na Androida i jest w pełni zintegrowane 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 je było zintegrować i uruchomić w Test Lab. Instrukcje korzystania z Test Lab w interfejsie Android Studio w celu utworzenia zestawu testów, przeprowadzenia testu z instrumentacją i wyświetlenia wyników testu znajdziesz w artykule Uruchamianie testów za pomocą Firebase Test Lab.
Robienie zrzutów ekranu
Test Lab obsługuje robienie zrzutów ekranu podczas 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ą Espresso Test Recorder
Narzędzie Espresso Test Recorder umożliwia tworzenie testów interfejsu aplikacji bez pisania kodu testowego. Możesz nagrywać swoje interakcje z urządzeniem i dodawać asercje, aby weryfikować elementy interfejsu w konkretnych zrzutach ekranu aplikacji. Espresso Test Recorder pobiera zapisane nagranie i automatycznie generuje odpowiedni test interfejsu Espresso, który możesz uruchomić, aby przetestować aplikację w Test Lab.
Więcej informacji znajdziesz w artykule Tworzenie testów interfejsu za pomocą Espresso Test Recorder.
Modyfikowanie działania testu z instrumentacją dla: 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.
Poniższy 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, aby określić, czy mają zostać wykonane 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 // ... }
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 Lab umożliwiają uruchamianie automatycznych 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 fragmentowanie, które pozwala optymalnie rozdzielać testy między fragmenty na podstawie historii poprzednich testów. Dzięki inteligentnemu fragmentowaniu fragmenty działają przez mniej więcej ten sam czas i zwracają wyniki testów tak szybko, jak to możliwe. Inteligentne dzielenie na fragmenty umożliwia równoległe uruchamianie dużych zestawów testów, dzięki czemu ta funkcja doskonale nadaje się do przepływów CI/CD.
Aby włączyć inteligentne dzielenie na fragmenty za pomocą wtyczki Test Lab urządzeń zarządzanych przez Gradle, postępuj zgodnie z instrukcjami podanymi w artykule Optymalizowanie uruchamiania testów za pomocą inteligentnego dzielenia na fragmenty.