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 permanece abierta para personalización. Las pruebas Espresso exponen las expectativas, las interacciones y las aserciones claramente sin la distracción del contenido estándar, la infraestructura personalizada o desordenados que se interponen en el camino.
Las pruebas de Espresso se ejecutan con una rapidez óptima. Te permite dejar de esperar, sincronizar y dormir y sondea detrás de escena mientras manipula y confirma en la aplicación IU cuando está en reposo.
Público objetivo
Espresso está dirigido a desarrolladores, que creen que las pruebas automatizadas son un es una parte fundamental del ciclo de vida del desarrollo. Si bien se puede usar para caja negra todas las pruebas de funcionamiento de Espresso son aprovechadas por aquellos que están familiarizados con el base de código en prueba.
Capacidades de sincronización
Cada vez que la prueba invoca
onView()
,
Espresso espera para realizar la acción o aserción de IU correspondiente hasta que
se cumplen las siguientes condiciones de sincronización:
- La cola de mensajes no tiene mensajes que Espresso deba enviar de inmediato. el proceso de administración de recursos.
- No hay instancias de
AsyncTask
en ejecución por el momento una tarea. - Todas las métricas definidas por el desarrollador Los recursos inactivos están inactivos.
Al realizar estas verificaciones, Espresso aumenta sustancialmente la probabilidad de que solo puede ocurrir una acción o aserción de IU en cualquier momento. Esta función proporciona resultados de prueba más confiables y confiables.
Paquetes
espresso-core
- ContieneView
comparadores, acciones y aserciones. Consulta Conceptos básicos y Recipes.espresso-web
: contiene recursos para la compatibilidad conWebView
.espresso-idling-resource
: Mecanismo de Espresso para la sincronización con trabajos en segundo plano.espresso-contrib
: Contribuciones externas que contienenDatePicker
las acciones deRecyclerView
yDrawer
, las verificaciones de accesibilidad yCountingIdlingResource
espresso-intents
: Extensión para validar y hacer stubbing de intents para 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, lee el notas de la versión.
Recursos adicionales
Para obtener más información sobre el uso de Espresso en pruebas de Android, consulta el 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…)