Usa Espresso para escribir pruebas de la IU de Android concisas, eficaces y confiables.
En el siguiente fragmento de código, se muestra un ejemplo de una prueba de 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())); }
La API principal es pequeña, predecible y fácil de aprender, pero puedes personalizarla. Las pruebas de Espresso exponen claramente las expectativas, las interacciones y las afirmaciones sin la distracción del contenido estándar, la infraestructura personalizada o los complicados detalles de implementación que se interponen en el camino.
Las pruebas de Espresso se ejecutan con una rapidez óptima. Te permiten dejar atrás esperas, sincronizaciones, tiempos inactivos y sondeos, mientras manipulan y afirman en la IU cuándo están en reposo.
Público objetivo
Espresso está dirigido a desarrolladores, que creen que las pruebas automatizadas son una parte integral del ciclo de vida del desarrollo. Si bien Espresso se puede usar para pruebas de caja negra, quienes están familiarizados con la base de código bajo en modo de prueba pueden aprovecharlo al máximo.
Capacidades de sincronización
Cada vez que la prueba invoca a onView()
, Espresso espera para realizar la acción o aserción de la IU correspondiente hasta que se cumplan las siguientes condiciones de sincronización:
- La cola de mensajes está vacía.
- No hay instancias de
AsyncTask
ejecutando una tarea. - Todos los recursos inactivos definidos por el desarrollador están inactivos.
Al realizar estas comprobaciones, Espresso aumenta sustancialmente la probabilidad de que solo una acción o afirmación de la IU pueda ocurrir en un momento específico. Esta capacidad brinda resultados de prueba más confiables y seguros.
Paquetes
espresso-core
: contiene comparadores, acciones y asercionesView
esenciales y básicas. Consulta Conceptos básicos y Recetas.espresso-web
: contiene recursos para la compatibilidad conWebView
.espresso-idling-resource
: es el mecanismo de Espresso para la sincronización con trabajos en segundo plano.espresso-contrib
: contribuciones externas que contienen accionesDatePicker
,RecyclerView
yDrawer
, verificaciones de accesibilidad yCountingIdlingResource
.espresso-intents
: extensión para validar y hacer stubbing de intents en pruebas herméticas.espresso-remote
: ubicación de la funcionalidad de varios procesos de Espresso.
Para obtener más información sobre las últimas versiones, consulta las notas de la versión.
Recursos adicionales
Para obtener más información sobre cómo usar Espresso en las pruebas de Android, consulta los siguientes recursos.
Ejemplos
- Muestras de código de Espresso incluye una selección completa de muestras de Espresso.
- BasicSample: Ejemplo básico de Espresso.
- (más…)