Przeprowadzanie testów w Android Studio

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 ,