intive Argentina Blog

Android Instrumentation tests – Espresso

¿Qué es Espresso?

Es uno de los tantos frameworks de testing para utilizar en Android. Espresso, en particular, se encuentra dentro de la “Testing support library” de Android y permite hacer tanto tests unitarios como de interacción con la UI.

Ventajas:

  • el framework se encarga por sí mismo de administrar el thread dedicado a UI para hacer que las interacciones esperen el tiempo adecuado para seguir los pasos indicados en el test.
  • no tiene nada de boilerplate,

 

¿Cómo utilizarlo?

En primer lugar hay que definir las dependencias necesarias para armar las pruebas:

Si se desea incluir otras dependencias que traigan algunas tareas predefinidas, como  para la interacción con un navDrawer, por ejemplo, se puede usar la librería. La manera más cómoda para trabajar mientras se escriben las pruebas es usar imports estáticos para hacerlas más legibles, por caso:

Una vez configurado el ambiente, es importante tener en cuenta que el modo de escribir un test de UI (con Espresso u otra variante) debería reducirse a los siguientes pasos:

  • encontrar una vista (o un componente de una vista).
  • interactuar con esa vista (o componente).
  • revisar los resultados.

La idea, pasada a como usar la API de Espresso, entonces sería:

Ejemplo:

Algunos métodos de la API

Aquí, una lista completa

También es posible usar Hamcrest para crear asserts más cómodos. Por ejemplo, con los métodos allOf ó anyOf

Más

 

Ejemplos prácticos:

https://gist.github.com/Cronch/8d4bf0e1f3024a0c0fdb

 

Para más información:

https://github.com/chiuki/espresso-samples

Gastón Goncalves

Trabaja en intive – FDV desde 2012. Desde febrero de 2015, es desarrollador  Android e integra dicha brigada. Antes, también en la compañía, fue desarrollador de Drools y Java EE. Es alumno de la carrera de Ingeniería en Informática de la Universidad de Buenos Aires. En la UBA, también fue docente ayudante de la materia Algoritmos y Programación II de la Facultad de Ingeniería.

Deja un comentario