SlideShare a Scribd company logo
1 of 19
Download to read offline
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ásicos
onView(withId(R.id.txt_helloworld))
.check(ViewAssertion);
Espresso - Básicos
onView(withId(R.id.txt_helloworld))
.check(matches(
withText(R.string.hello_world)
));
Espresso - Básicos
onView(ViewMatcher)
.perform(ViewAction)
.check(ViewAssertion);
Espresso - Básicos
onView(withId(R.id.button_clickme))
.perform(ViewAction)
.check(ViewAssertion);
Espresso - Básicos
onView(withId(R.id.button_clickme))
.perform(click())
.check(ViewAssertion);
Espresso - Básicos
onView(withId(R.id.button_clickme))
.perform(click())
.check(matches(not(isEnabled())));
Este y otros ejemplos:
github.com/apiconz/espresso-ejemplos
Librería Espresso
onView(withId(R.id.button_clickme))
.perform(click())
.check(matches(not(isEnabled())));
Hamcrest
onView(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!
Receta
1. Agregamos dependencias en gradle
2. Declaramos el Instrumentation Runner en defaultConfig
3. Desactivamos animaciones en el dispositivo
4. Creamos una clase con las anotaciones @RunWith y
@LargeTest
5. Declaramos la regla con la anotación @Rule
6. Escribimos nuestro test @Test
Este y otros ejemplos:
github.com/apiconz/espresso-ejemplos
Gracias!
@devpicon
+ArmandoPicon
github.com/apiconz
apiconz.blogspot.com

More Related Content

Viewers also liked

Viewers also liked (20)

Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014Taller Android - FLISOL Lima Este 2014
Taller Android - FLISOL Lima Este 2014
 
Testing android apps with espresso
Testing android apps with espressoTesting android apps with espresso
Testing android apps with espresso
 
GDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud PlatformGDG Open - Overview de la Google Cloud Platform
GDG Open - Overview de la Google Cloud Platform
 
Ui testing with espresso
Ui testing with espressoUi testing with espresso
Ui testing with espresso
 
Espresso testing
Espresso testingEspresso testing
Espresso testing
 
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn ToànTech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
Tech Talk #5 : Android Automation Test with Espresso - Trần Văn Toàn
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?
 
Continous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and JenkinsContinous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and Jenkins
 
Screenshots Test spoon + espresso
Screenshots Test spoon + espressoScreenshots Test spoon + espresso
Screenshots Test spoon + espresso
 
Writing quick and beautiful automation code
Writing quick and beautiful automation codeWriting quick and beautiful automation code
Writing quick and beautiful automation code
 
Automated android testing using jenkins ci
Automated android testing using jenkins ciAutomated android testing using jenkins ci
Automated android testing using jenkins ci
 
Testing basics for developers
Testing basics for developersTesting basics for developers
Testing basics for developers
 
Espresso Barista
Espresso BaristaEspresso Barista
Espresso Barista
 
Fast deterministic screenshot tests for Android
Fast deterministic screenshot tests for AndroidFast deterministic screenshot tests for Android
Fast deterministic screenshot tests for Android
 
Android development
Android developmentAndroid development
Android development
 
Ewa Bielska: Testowanie aplikacji mobilnych
Ewa Bielska: Testowanie aplikacji mobilnychEwa Bielska: Testowanie aplikacji mobilnych
Ewa Bielska: Testowanie aplikacji mobilnych
 
Writing and using Hamcrest Matchers
Writing and using Hamcrest MatchersWriting and using Hamcrest Matchers
Writing and using Hamcrest Matchers
 
How to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App TestingHow to Leverage Appium in Your Mobile App Testing
How to Leverage Appium in Your Mobile App Testing
 
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on WebinarParallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
 
Interview Questions for Mobile application Testing
Interview Questions for Mobile application TestingInterview Questions for Mobile application Testing
Interview Questions for Mobile application Testing
 

Similar to Android Espresso

Buenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on RailsBuenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on Rails
Sergio Gil
 

Similar to Android Espresso (13)

Introduccion al Akelos Php Framework
Introduccion al Akelos Php FrameworkIntroduccion al Akelos Php Framework
Introduccion al Akelos Php Framework
 
software testing
software testingsoftware testing
software testing
 
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)Integrando React.js en aplicaciones Symfony (deSymfony 2016)
Integrando React.js en aplicaciones Symfony (deSymfony 2016)
 
Functional Tests with Geb
Functional Tests with GebFunctional Tests with Geb
Functional Tests with Geb
 
Java
Java Java
Java
 
Introducción a PWA
Introducción a PWAIntroducción a PWA
Introducción a PWA
 
React
ReactReact
React
 
In seguridad de aplicaciones web
In seguridad de aplicaciones webIn seguridad de aplicaciones web
In seguridad de aplicaciones web
 
Taller TestingUy 2019 - Automatización de pruebas móviles Android con Appium ...
Taller TestingUy 2019 - Automatización de pruebas móviles Android con Appium ...Taller TestingUy 2019 - Automatización de pruebas móviles Android con Appium ...
Taller TestingUy 2019 - Automatización de pruebas móviles Android con Appium ...
 
Buenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on RailsBuenas Prácticas de desarrollo en Ruby on Rails
Buenas Prácticas de desarrollo en Ruby on Rails
 
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
Descubriendo Ruby on Rails (Desarrollo Agil de Aplicaciones Web)
 
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
Descubriendo Ruby On Rails (Desarrollo Agil De Aplicaciones Web)
 
Knowing App Center Test
Knowing App Center TestKnowing App Center Test
Knowing App Center Test
 

More from Armando Picón Z.

Introducción a la agilidad el manifiesto v2.0
Introducción a la agilidad   el manifiesto v2.0Introducción a la agilidad   el manifiesto v2.0
Introducción a la agilidad el manifiesto v2.0
Armando Picón Z.
 
Lima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopLima GTUG - Startup Android Workshop
Lima GTUG - Startup Android Workshop
Armando Picón Z.
 
Android 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloAndroid 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrollo
Armando Picón Z.
 

More from Armando Picón Z. (18)

Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
 
Integra tu Aplicación Android con Firebase
Integra tu Aplicación Android con FirebaseIntegra tu Aplicación Android con Firebase
Integra tu Aplicación Android con Firebase
 
GDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladoresGDG Open - Herramientas para desarrolladores
GDG Open - Herramientas para desarrolladores
 
Introducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para AndroidIntroducción al desarrollo de aplicaciones para Android
Introducción al desarrollo de aplicaciones para Android
 
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
Ágiles 2014 Medellín - En el Cielo y en el Infierno, aplicando el agilismo en...
 
Coding Dojo - Greed Kata
Coding Dojo - Greed KataCoding Dojo - Greed Kata
Coding Dojo - Greed Kata
 
Coding Dojo - Romans Kata
Coding Dojo - Romans KataCoding Dojo - Romans Kata
Coding Dojo - Romans Kata
 
Coding Dojo - Presentation Template
Coding Dojo - Presentation TemplateCoding Dojo - Presentation Template
Coding Dojo - Presentation Template
 
AgilePerú - Coding Dojo Week
AgilePerú - Coding Dojo WeekAgilePerú - Coding Dojo Week
AgilePerú - Coding Dojo Week
 
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesferaUsabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
Usabilidad de Practicas y Procesos por Diego Fontdevila-grupoesfera
 
Introducción a la agilidad el manifiesto v2.0
Introducción a la agilidad   el manifiesto v2.0Introducción a la agilidad   el manifiesto v2.0
Introducción a la agilidad el manifiesto v2.0
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El Manifiesto
 
Introducción a la agilidad - El Manifiesto
Introducción a la agilidad - El ManifiestoIntroducción a la agilidad - El Manifiesto
Introducción a la agilidad - El Manifiesto
 
Lima GTUG - Startup Android Workshop
Lima GTUG - Startup Android WorkshopLima GTUG - Startup Android Workshop
Lima GTUG - Startup Android Workshop
 
Android 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrolloAndroid 00 - Instalando nuestro ambiente de desarrollo
Android 00 - Instalando nuestro ambiente de desarrollo
 
Integracion continua
Integracion continuaIntegracion continua
Integracion continua
 
Distributed Scrum por Heitor Roriz
Distributed Scrum por Heitor RorizDistributed Scrum por Heitor Roriz
Distributed Scrum por Heitor Roriz
 
Como Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De MovistarComo Enviar Sms Desde La Web De Movistar
Como Enviar Sms Desde La Web De Movistar
 

Android Espresso