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 instrumentowane w Android Studio, aby: mogą je zintegrować i uruchamiać za pomocą Test Lab. Instrukcje 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. Informacje o robieniu zrzutów ekranu znajdziesz w sekcji Dodaj bibliotekę zrzutów ekranu do projektu.
Tworzenie testów za pomocą Espresso Test Recorder
Espresso Test Dyktafon pozwala tworzyć testy interfejsu aplikacji bez dowolnego 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.
Zmodyfikuj działanie testu instrumentowanego dla: Test Lab
Funkcja Test Lab udostępnia zmienną systemową, którą możesz dodać do metody testując je, dzięki czemu po uruchomieniu będą działać inaczej Test Lab niż w przypadku uruchamiania ich na własnym urządzeniu testowym lub w emulatorze.
Poniższy przykładowy kod odczytuje właściwość systemową, firebase.test.lab
oraz
ustawia ciąg znaków, testLabSetting
na true
, jeśli test jest uruchomiony w 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ą również inteligentne fragmentowanie, które umożliwia rozpowszechnianie optymalnie sprawdza się we fragmentach na podstawie historii poprzednich testów. Z inteligentnym fragmentacja, fragmenty działają mniej więcej przez taki sam czas i zwracany jest test jak najszybciej. Inteligentne fragmentowanie umożliwia uruchamianie dużych zestawów testowych równoległe, dzięki czemu ta funkcja dobrze sprawdza się w procesach CI/CD.
Aby włączyć inteligentne fragmentowanie za pomocą wtyczki Test Lab dla urządzeń zarządzanych przez Gradle: wykonaj instrukcje podane w artykule Optymalizacja uruchomień testów z inteligentnymi fragmentacja ,