Espresso

Używaj Espresso do pisania zwięzłych, pięknych i rzetelnych testów interfejsu Androida.

Ten fragment kodu zawiera przykładowy test espresso:

Kotlin

@Test
fun greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"))
    onView(withId(R.id.greet_button)).perform(click())
    onView(withText("Hello Steve!")).check(matches(isDisplayed()))
}

Java

@Test
public void greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"));
    onView(withId(R.id.greet_button)).perform(click());
    onView(withText("Hello Steve!")).check(matches(isDisplayed()));
}

Podstawowy interfejs API jest mały, przewidywalny i łatwy w opanowaniu, ale wciąż można go dostosowywać. Espresso w jasny sposób bada oczekiwania, interakcje i słowa kluczowe bez rozpraszania czyjejś powtarzającej się zawartości, niestandardowej infrastruktury i skomplikowanych szczegółów implementacji.

Testy espresso przebiegają optymalnie! Pozwala zostawić czas oczekiwania, synchronizację, sen i ankiety w czasie spoczynku i kontynuować pracę z interfejsem aplikacji.

Docelowi odbiorcy

Espresso to aplikacja dla deweloperów, którzy uważają, że automatyczne testowanie jest integralną częścią cyklu programowania. Można z niego korzystać w testowych testach, ale wszystkie funkcje espresso są dostępne dla osób zaznajomionych z testowaną bazą kodu.

Funkcje synchronizacji

Za każdym razem, gdy test wywołuje onView(), Espresso czeka na wykonanie odpowiedniego działania UI lub asercji, aż zostaną spełnione te warunki synchronizacji:

  • W kolejce wiadomości nie ma żadnych wiadomości, które Espresso musi od razu przetworzyć.
  • Obecnie nie ma instancji AsyncTask wykonujących zadanie.
  • Wszystkie zdefiniowane przez dewelopera nieaktywne zasoby są nieaktywne.

Wykonując te testy, Espresso znacznie zwiększa prawdopodobieństwo, że w danym momencie może wystąpić tylko jedno działanie interfejsu lub asercja. Zapewnia to bardziej wiarygodne i wiarygodne wyniki testu.

Pakiety

  • espresso-core – zawiera podstawowe i podstawowe dopasowania, działania i asercje View. Zobacz Podstawy i Przepisy.
  • espresso-web – zawiera zasoby pomocy technicznej WebView.
  • espresso-idling-resource – mechanizm Espresso do synchronizacji z zadaniami w tle.
  • espresso-contrib – treści opublikowane przez użytkowników, które zawierają działania DatePicker, RecyclerView i Drawer, mechanizmy ułatwień dostępu oraz CountingIdlingResource.
  • espresso-intents – rozszerzenie do weryfikacji i skrócenia intencji na potrzeby testów hermetycznych.
  • espresso-remote – lokalizacja funkcji wieloprocesowego Espresso.

Więcej informacji o najnowszych wersjach znajdziesz w informacjach o wersji.

Dodatkowe materiały

Więcej informacji o używaniu Espresso w testach na Androidzie znajdziesz w tych materiałach.

Próbki