Verwende Espresso, um prägnante, ansprechende und zuverlässige Android-UI-Tests zu schreiben.
Das folgende Code-Snippet zeigt ein Beispiel für einen Espresso-Test:
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())); }
Die Kern-API ist klein, vorhersehbar, einfach zu erlernen und dennoch offen für Personalisierung. Espresso-Tests geben Erwartungen, Interaktionen und Assertions an ohne Ablenkungen von Textbausteinen, benutzerdefinierter Infrastruktur, oder unklare Implementierungsdetails.
Espressotests laufen optimal schnell! So kannst du deine Wartezeiten, Synchronisierungen, Schlafenszeiten und fragt nach, während die Anwendung manipuliert und geltend gemacht wird. UI, wenn sie inaktiv ist.
Zielgruppe
Espresso richtet sich an Entwickler, die der Meinung sind, dass automatisierte Tests wesentlicher Bestandteil des Entwicklungszyklus. Diese Methode eignet sich zwar für Blackboxes, können Nutzer, die mit dem Espresso-Tool vertraut sind, Codebasis zu testen.
Synchronisierungsfunktionen
Jedes Mal, wenn Ihr Test einen Aufruf
onView()
,
Espresso wartet mit der Durchführung der entsprechenden UI-Aktion oder Assertion, bis das
folgende Synchronisierungsbedingungen erfüllt sind:
- Die Nachrichtenwarteschlange enthält keine Nachrichten, die Espresso sofort lesen muss. .
- Es werden derzeit keine Instanzen von
AsyncTask
ausgeführt einer Aufgabe. - Alle vom Entwickler definiert inaktive Ressourcen sind inaktiv.
Durch diese Überprüfungen erhöht Espresso die Wahrscheinlichkeit deutlich, kann jeweils nur eine UI-Aktion oder Assertion ausgeführt werden. Diese Fähigkeit zuverlässigere und zuverlässigere Testergebnisse.
Pakete
espresso-core
: Enthält grundlegende und grundlegendeView
-Matcher, Aktionen und Assertions an. Weitere Informationen finden Sie unter Grundlagen und Rezepte.espresso-web
: Enthält Ressourcen für denWebView
-Support.espresso-idling-resource
Espresso-Mechanismus zur Synchronisierung mit Hintergrundjobs.espresso-contrib
: Externe Beiträge, dieDatePicker
,RecyclerView
undDrawer
Aktionen, Barrierefreiheitsprüfungen undCountingIdlingResource
espresso-intents
Erweiterung zur Validierung und Stub-Intents für hermetische Tests.espresso-remote
: Ort der Multi-Prozess-Funktion von Espresso.
Weitere Informationen zu den neuesten Versionen finden Sie in der Versionshinweise.
Weitere Informationen
Weitere Informationen zur Verwendung von Espresso in Android-Tests finden Sie in der in den folgenden Ressourcen.
Produktproben
- Espresso-Codebeispiele umfasst eine vollständige Auswahl an Espresso-Beispielen.
- BasicSample: Einfaches Espressobeispiel
- (Mehr...)