Espresso

Używaj Espresso, aby pisać zwięzłe, atrakcyjne i rzetelne testy interfejsu Androida.

Poniższy 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 do opanowania, ale nadal można go używać i personalizacji reklam. Espresso sprawdza oczekiwania, interakcje i twierdzenia bez rozproszenia uwagi przez schematyczne treści, niestandardową infrastrukturę lub skomplikowane szczegóły implementacji, które przeszkodzą w działaniu.

Testy Espresso przebiegają optymalnie szybko. Pozwala na odczekanie, synchronizację, uśpienie i sonduje za nimi, gdy manipuluje i głosuje na aplikację Interfejs użytkownika w stanie spoczynku.

Docelowi odbiorcy

Espresso jest skierowany do programistów, którzy uważają, że automatyczne testowanie to w całym cyklu programowania. Może być używana do tworzenia czarnej skrzynki Testowanie funkcji Espresso jest odblokowywane przez osoby, które znają bazy kodu w trakcie testów.

Możliwości synchronizacji

Za każdym razem, gdy test powoduje wywołanie onView() Espresso czeka na wykonanie odpowiedniego działania interfejsu lub asercji do momentu są spełnione te warunki synchronizacji:

  • W kolejce wiadomości nie ma żadnych wiadomości, które Espresso musi mieć natychmiast proces tworzenia konta.
  • Nie ma obecnie uruchomionych instancji AsyncTask zadanie.
  • Wszystkie definiowane przez dewelopera nieaktywne zasoby są nieaktywne.

Przeprowadzając te testy, Espresso znacznie zwiększa prawdopodobieństwo w danym momencie może mieć miejsce tylko jedno działanie lub jedno potwierdzenie w interfejsie. Ta funkcja pozwala uzyskać bardziej wiarygodne wyniki testów.

Pakiety

  • espresso-core – zawiera podstawowe i podstawowe elementy dopasowania typu View, działania oraz asercji. Zobacz Podstawy i Przepisy.
  • espresso-web – zawiera zasoby pomocy dotyczące WebView.
  • espresso-idling-resource – Mechanizm Espresso do synchronizacji z zadaniami w tle.
  • espresso-contrib – treści opublikowane przez użytkowników zewnętrznych, które zawierają te treści: DatePicker, Działania RecyclerView i Drawer, kontrole ułatwień dostępu oraz CountingIdlingResource.
  • espresso-intents – Rozszerzenie służące do weryfikacji i skrócenia intencji testów hermetycznych.
  • espresso-remote – lokalizacja funkcji wieloprocesowej w Espresso.

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

Dodatkowe materiały

Więcej informacji o używaniu Espresso w testach na Androidzie znajdziesz w poniższe zasoby.

Próbki