Mit Espresso kannst du prägnante, ansprechende und zuverlässige Tests für die Android-Benutzeroberfläche 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 Core API ist klein, vorhersehbar und leicht zu erlernen und kann dennoch angepasst werden. Espresso testet Erwartungen, Interaktionen und Assertions klar und deutlich, ohne dass die Ablenkung durch Boilerplate-Inhalte, benutzerdefinierte Infrastruktur oder unübersichtliche Implementierungsdetails beeinträchtigt wird.
Espresso-Tests verlaufen optimal und schnell! Damit können Sie Wartezeiten, Synchronisierungen, Ruhezustand und Umfragen hinter sich lassen, während es die Benutzeroberfläche der Anwendung manipuliert und im Ruhezustand bestätigt.
Zielgruppe
Espresso richtet sich an Entwickler, die glauben, dass automatisierte Tests ein integraler Bestandteil des Entwicklungszyklus sind. Espresso kann zwar für Blackbox-Tests verwendet werden, aber diejenigen, die mit der zu testenden Codebasis vertraut sind, können die volle Leistung von Espresso nutzen.
Synchronisierungsfunktionen
Jedes Mal, wenn Ihr Test onView()
aufruft, wartet Espresso mit der Ausführung der entsprechenden UI-Aktion oder Assertion, bis die folgenden Synchronisierungsbedingungen erfüllt sind:
- Die Nachrichtenwarteschlange enthält keine Nachrichten, die Espresso sofort verarbeiten muss.
- Derzeit wird eine Aufgabe von
AsyncTask
auf keinen Instanzen ausgeführt. - Alle vom Entwickler definierten inaktiven Ressourcen sind inaktiv.
Durch diese Prüfungen erhöht Espresso deutlich die Wahrscheinlichkeit, dass jeweils nur eine UI-Aktion oder Assertion auftreten kann. So erhalten Sie zuverlässigere und zuverlässigere Testergebnisse.
Pakete
espresso-core
: Enthält grundlegende und grundlegendeView
-Matcher, Aktionen und Assertions. Weitere Informationen finden Sie unter Grundlagen und Rezepte.espresso-web
: enthält Ressourcen für dieWebView
-Unterstützung.espresso-idling-resource
: Der Espresso-Mechanismus zur Synchronisierung mit Hintergrundjobs.espresso-contrib
: Externe Beiträge, dieDatePicker
-,RecyclerView
- undDrawer
-Aktionen, Barrierefreiheitsprüfungen undCountingIdlingResource
enthalten.espresso-intents
: Erweiterung zur Validierung und Stub-Intents für hermetische Tests.espresso-remote
: Speicherort der Multi-Process-Funktion von Espresso.
Weitere Informationen zu den neuesten Versionen finden Sie in den Versionshinweisen.
Weitere Informationen
Weitere Informationen zur Verwendung von Espresso in Android-Tests finden Sie in den folgenden Ressourcen.
Produktproben
- Espresso-Codebeispiele umfassen eine vollständige Auswahl an Espresso-Beispielen.
- BasicSample: Einfaches Espresso-Beispiel.
- (Mehr...)