Przeprowadzanie testów w Android Studio

Laboratorium Firebase zapewnia działającą w chmurze infrastrukturę do testowania Androida aplikacji i oferuje pełną integrację z Android Studio z instrumentowanymi testami i sprawdzaniem ich wyników.

Z tego przewodnika dowiesz się, jak modyfikować testy instrumentowane w Android Studio, aby: które można zintegrować i uruchomić z Laboratorium. Instrukcje dotyczące korzystania w narzędziu Laboratorium w interfejsie Androida Studio, aby utworzyć macierz testów, uruchomić z instrumentowanymi testami i przeglądać ich wyniki, patrz Przeprowadzaj testy w Laboratorium Firebase.

Robienie zrzutów ekranu

Laboratorium umożliwia robienie zrzutów ekranu podczas działania za pomocą testów instrumentalnych. Informacje o robieniu zrzutów ekranu znajdziesz w sekcji Dodaj bibliotekę zrzutów ekranu do projektu.

Tworzenie testów za pomocą narzędzia Espresso Test Recorder

Espresso Test Dyktafon pozwala tworzyć testy interfejsu aplikacji bez dowolnego kodu testowego. Możesz rejestrować interakcje z urządzeniem i dodawać asercji do weryfikacji elementów interfejsu, a w konkretnych zrzutach aplikacji. Espresso Dyktafon testuje następnie zapisane nagranie i automatycznie generuje odpowiedni test interfejsu Espresso, który możesz przeprowadzić, aby przetestować swoją aplikację w Laboratorium.

Więcej informacji: Tworzenie testów UI za pomocą aplikacji Espresso Test Recorder

Modyfikowanie zachowania testu instrumentowanego na potrzeby Laboratorium

Laboratorium udostępnia zmienną systemową, którą można dodać do testując je, dzięki czemu po uruchomieniu będą działać inaczej 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 Laboratorium. Następnie wykorzystuje wartość tego ciągu do określenia, czy dodatkowe instrukcje są wykonywane:

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 w Laboratorium Firebase pozwala na przeprowadzanie na dużą skalę zautomatyzowanych testów instrumentowanych w Laboratorium na podstawie konfiguracji w plikach Gradle w Twoim projekcie.

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 Laboratorium zarządzanych urządzeń zarządzanych przez Gradle: wykonaj instrukcje podane w artykule Optymalizowanie uruchomień testowych z inteligentnymi fragmentacja ,