Android Espresso

Post on 16-Apr-2017

1.096 views 0 download

Transcript of Android Espresso

Android Espresso+ArmandoPicon@devpicon

¿Qué es Espresso?

● Es una característica del Android Testing Support Library

● Simula interacciones del usuario● Sincronización automática de acciones de

los tests con la interfaz de usuario

Espresso - Básicos

onView(ViewMatcher)

.check(ViewAssertion);

Espresso - BásicosonView(withId(R.id.txt_helloworld))

.check(ViewAssertion);

Espresso - BásicosonView(withId(R.id.txt_helloworld))

.check(matches(

withText(R.string.hello_world)

));

Espresso - Básicos

onView(ViewMatcher)

.perform(ViewAction)

.check(ViewAssertion);

Espresso - BásicosonView(withId(R.id.button_clickme))

.perform(ViewAction)

.check(ViewAssertion);

Espresso - BásicosonView(withId(R.id.button_clickme))

.perform(click())

.check(ViewAssertion);

Espresso - BásicosonView(withId(R.id.button_clickme))

.perform(click())

.check(matches(not(isEnabled())));

Este y otros ejemplos:github.com/apiconz/espresso-ejemplos

Librería EspressoonView(withId(R.id.button_clickme))

.perform(click())

.check(matches(not(isEnabled())));

HamcrestonView(withId(R.id.button_clickme))

.perform(click())

.check(matches(not(isEnabled())));

Espresso

https://code.google.com/p/android-test-kit/wiki/EspressoV2CheatSheet

Hamcrest

http://www.marcphilipp.de/blog/2013/01/02/hamcrest-quick-reference/

Manos a la obra!

Receta1. Agregamos dependencias en gradle2. Declaramos el Instrumentation Runner en defaultConfig3. Desactivamos animaciones en el dispositivo4. Creamos una clase con las anotaciones @RunWith y

@LargeTest5. Declaramos la regla con la anotación @Rule6. Escribimos nuestro test @Test

Este y otros ejemplos:github.com/apiconz/espresso-ejemplos

Gracias!@devpicon

+ArmandoPicon

github.com/apiconz

apiconz.blogspot.com