Przeprowadzanie testów w Android Studio

Firebase Test Lab udostępnia 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: mogą je zintegrować i uruchamiać za pomocą Test Lab. Instrukcje dotyczące korzystania Test Lab w interfejsie Androida Studio, by utworzyć zestaw testów, uruchom z instrumentowanymi testami i przeglądać ich wyniki, patrz Przeprowadzaj testy w narzędziu Firebase Test Lab.

Robienie zrzutów ekranu

Test Lab umożliwia przechwytywanie zrzutów ekranu podczas uruchamiania 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ć aplikację w usłudze Test Lab.

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

Zmień zachowanie 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 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 za pomocą interfejsu Firebase Test Lab pozwala na uruchamianie zautomatyzowanych testów instrumentowanych na dużą skalę w Test Lab 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 Test Lab dla urządzeń zarządzanych przez Gradle: wykonaj instrukcje podane w artykule Optymalizacja uruchomień testów z inteligentnymi fragmentacja ,