SlideShare une entreprise Scribd logo
1  sur  36
Télécharger pour lire hors ligne
TEST AUTOMATION
GOURMET
Leonard Espíritu
leonard.espiritu@gmail.com
@lenerEO
21 y 22 de mayo, 2018
www.testinguy.org
#testinguy |@testinguy
HOLA!
Soy Leonard
Cuento con 8 años de experiencia en
Software Testing, actualmente me
desempeño como QA Lead en la Fábrica
Digital del banco Scotiabank sede Perú.
Y hace 2 años en #HablemosDeTesting.
Agenda
✘ ¿Qué es Test Automation?
✘ Alternativas
✘ Mis recetas
✗ Ingredientes
✗ Preparación para Servicios
✗ Preparación para Web
✗ Preparación para Móviles
✘ Conclusiones
Encuesta realizada por la compañía TechWell durante Mayo y Junio del 2016.
¿Qué nuevo conocimiento esperan tus supervisores que adquieras en los siguientes 12 meses?
“Tests find bugs, not Automation”
¿Qué es Test Automation?
Manual Automatizado
- Herramienta
- Código
- Script
- etc
Fuente: Dorothy Graham
¿Qué hacemos?
Test Automation Pyramid
Mis Recetas
Resultado de innumerables intentos de
“prueba y error”
Ingredientes
IntelliJ
Un IDE de programación que
permite ejecutar rápidamente los
Tests. Y muy útil para el debug de
Tests.
Gragle
Nos permite organizar las
dependencias del proyecto sin
hacer pesado nuestro proyecto.
Java
Uno de los lenguajes más
populares y que nos proporciona
muchas librerías para los Tests..
TestNG
Nos permite manejar los Tests. Lo
potente es la Suite desde donde
se puede centralizar las
ejecuciones de los Tests
Cucumber
Gherkin para varios lenguajes,
entre ellos Java. Permite tener
nuestros Test cercanos a un
lenguaje de Negocio.
Selenium
Un conjunto de librerías que nos
permite interactuar con los
objetos de una página Web.
Ingredientes
Page Object Pattern
Una forma de estructurar un
proyecto de automatización de
páginas web para que sea fácil de
mantener..
Appium
Un framework que nos sirve de
puente entre los Tests
automatizados y los dispositivos
móviles.
Android SDK
Nos permite administrar los
dispositivos Android emulados.
1. IntelliJ
2. Gradle
3. Java
4. TestNG
5. Cucumber
Preparación para Servicios
1. Crear un proyecto Gradle & Java
2. Agregar dependencias
3. Crear el Test Suite
4. Crear el Runner
5. Crear los Features
6. Crear los Step Definitios
7. Crear las clases Request & Response
8. Codificar los Steps
Preparación para Servicios
Practica 1
https://github.com/lenerEO/base.git
http://api.mathjs.org/
1. IntelliJ
2. Gradle
3. Java
4. TestNG
5. Cucumber
6. Selenium
7. Page Object Pattern
Preparación para Web
1. Crear un proyecto Gradle & Java
2. Agregar dependencias
3. Crear el Test Suite
4. Crear el Runner
5. Crear los Features
6. Crear los Step Definitios
7. Crear las clases Page Objects
8. Codificar los Steps
Preparación para Web
Practica 2
https://github.com/lenerEO/baseweb.git
https://es.wikipedia.org
1. IntelliJ
2. Gradle
3. Java
4. TestNG
5. Cucumber
6. Selenium
7. Page Object Pattern
8. Appium
Preparación para Móviles
1. Crear un proyecto Maven & Java
2. Agregar dependencias
3. Crear el Test Suite (SDK version)
4. Crear el Runner
5. Crear los Features
6. Crear los Step Definitios
7. Crear las clases Page Objects
8. Codificar los Steps
Preparación para Móviles
Practica 3
Calculadora
Conclusiones
More info on how to use this template at www.slidescarnival.com/help-use-presentation-template
This template is free to use under Creative Commons Attribution license.You can keep the Credits slide or
mention SlidesCarnival and other resources used in a slide footer.
21 y 22 de mayo, 2018
www.testinguy.org
#testinguy |@testinguy
¿PREGUNTAS?
¡MUCHAS GRACIAS!
Leonard Espíritu
leonard.espiritu@gmail.com
@lenerEO
MATERIAL COMPLEMENTARIO
AUTOMATIZACIÓN DE
PRUEBAS EN ANDROID
Leonard Espíritu
leonard.espiritu@gmail.com
@lenerEO
21 y 22 de mayo, 2018
www.testinguy.org
#testinguy |@testinguy
Link: https://goo.gl/N0gRdg
Agenda
1. ¿Qué es Appium?
2. Instalación / Configuración.
3. Crear un Proyecto Base.
4. Ejecución en dispositivos virtual y real.
¿Qué es Appium?
Es un framework de automatización de
pruebas de código abierto para:
- Apps Nativas.
- Apps Híbridas
- Web Apps.
Traduce los comandos de Selenium
Webdriver para UIAutomator (Android) o
UIAutomation (iOS).
Soporta varios lenguajes de
programación.
Link: http://appium.io/
Instalación /
Configuración
Lo que debemos instalar:
1. Java 7 (JDK).
2. Android SDK.
3. Appium.
4. Universal Windows ADB Driver
(Link).
5. Eclipse.
6. TestNG en Eclipse.
7. ADT Plugin en Eclipse.
Lo que se debe configurar:
1. JAVA_HOME
2. ANDROID_HOME
3. Android SDK
Crear un
Proyecto Base
1. Crear un Proyecto Maven basado
en maven-archetype-quickstart.
1. Crear los siguientes packages:
a. main : pages
b. test : suites
c. test : tests
1. Configurar en el POM:
a. Java version.
b. Selenium.
c. Appium.
Demo 1
Clase BaseTest
Esta clase se usará como padre de todas
las clase Test.
Contiene las configuraciones / acciones
necesarias para iniciar y terminar un Test.
Recibe los parámetros de los Test Suites
que determinan la versión de Android,
entre otras cosas.
Locators
La mayoría de los controles usados en
Android se encuentran en el package
widget y a su vez heredan de la clase
view.
UI Automator es una herramienta del SDK
de Android que nos permite visualizar las
propiedades que se pueden usar para
identificar un MobileElement.
Link: https://goo.gl/Vf5l0t
Test Suites
Son archivos XML que nos permiten
administrar la inclusión de parámetros y
clases test en la ejecución de la
automatización.
Algunos parámetros importantes de los
capabilities son:
- appPackage
- appActivity
Una forma de obtenerlos es usando el
utilitario adb.exe del SDK de Android:
adb shell
dumpsys window windows | grep -E
'mCurrentFocus|mFocusedApp'
Ejecución
Para iniciar la ejecución de la
automatización es necesario tener
corriendo Appium.
IMPORTANTE: Para iniciar correctamente
Appium es necesario indicar la ubicación
del SDK de Android.
Demo 2
Data collected during a 7-day period ending on May 7, 2018.
Any versions with less than 0.1% distribution are not shown. Link

Contenu connexe

Tendances

Adicionar libreria externa jar a un proyecto java en eclipse
Adicionar libreria externa jar a un proyecto java en eclipseAdicionar libreria externa jar a un proyecto java en eclipse
Adicionar libreria externa jar a un proyecto java en eclipseEmerson Garay
 
Crear jar con eclipse
Crear jar con eclipseCrear jar con eclipse
Crear jar con eclipseEmerson Garay
 
Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++victorconejo80
 
Compilando un programa manualmente
Compilando un programa manualmenteCompilando un programa manualmente
Compilando un programa manualmenteAlex Toapanta
 
Greach 2011 : Creando Plugins Con Griffon
Greach 2011 : Creando Plugins Con GriffonGreach 2011 : Creando Plugins Con Griffon
Greach 2011 : Creando Plugins Con GriffonMario García
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
 
Introducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .NetIntroducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .NetAbel Quintana Lopez
 
Gwt manual de instalacion
Gwt   manual de instalacionGwt   manual de instalacion
Gwt manual de instalacionVLASLOV
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Juampy NR
 

Tendances (12)

Adicionar libreria externa jar a un proyecto java en eclipse
Adicionar libreria externa jar a un proyecto java en eclipseAdicionar libreria externa jar a un proyecto java en eclipse
Adicionar libreria externa jar a un proyecto java en eclipse
 
Crear jar con eclipse
Crear jar con eclipseCrear jar con eclipse
Crear jar con eclipse
 
Workshop: Testeando nuestra aplicaciones.
Workshop: Testeando nuestra aplicaciones.Workshop: Testeando nuestra aplicaciones.
Workshop: Testeando nuestra aplicaciones.
 
Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++Configuración de NetBeans para Java, C y C++
Configuración de NetBeans para Java, C y C++
 
Compilando un programa manualmente
Compilando un programa manualmenteCompilando un programa manualmente
Compilando un programa manualmente
 
Greach 2011 : Creando Plugins Con Griffon
Greach 2011 : Creando Plugins Con GriffonGreach 2011 : Creando Plugins Con Griffon
Greach 2011 : Creando Plugins Con Griffon
 
¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?¿Cómo poner software de calidad en manos del usuario de forma rápida?
¿Cómo poner software de calidad en manos del usuario de forma rápida?
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Agenda de contactos en Android
Agenda de contactos en AndroidAgenda de contactos en Android
Agenda de contactos en Android
 
Introducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .NetIntroducción a la automatización de pruebas con tecnologías .Net
Introducción a la automatización de pruebas con tecnologías .Net
 
Gwt manual de instalacion
Gwt   manual de instalacionGwt   manual de instalacion
Gwt manual de instalacion
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012
 

Similaire à Taller Evento TestingUY 2018 - Test Automation Gourmet

Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event managerIvan Ortega
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumSoftware Guru
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWTGDG Lima
 
Construyendo una app Android sobre la nube App Engine
Construyendo una app Android sobre la nube App EngineConstruyendo una app Android sobre la nube App Engine
Construyendo una app Android sobre la nube App EngineGDG Lima
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetseusonlito
 
Argentesting 2017 - Anatomia Framework Automatización
Argentesting 2017 - Anatomia Framework AutomatizaciónArgentesting 2017 - Anatomia Framework Automatización
Argentesting 2017 - Anatomia Framework AutomatizaciónArgentesting
 
pruebas de calidad.pdf
pruebas de calidad.pdfpruebas de calidad.pdf
pruebas de calidad.pdfChirmi1
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y BackEric Zeidan
 
[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma javaEudris Cabrera
 
Meetup TestingUy 2018 - Aprendiendo a Testear un Framework desde cero
Meetup TestingUy 2018 - Aprendiendo a Testear un Framework desde ceroMeetup TestingUy 2018 - Aprendiendo a Testear un Framework desde cero
Meetup TestingUy 2018 - Aprendiendo a Testear un Framework desde ceroTestingUy
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineNigeŗ Arce
 

Similaire à Taller Evento TestingUY 2018 - Test Automation Gourmet (20)

Proyect Evenge. Event manager
Proyect Evenge. Event managerProyect Evenge. Event manager
Proyect Evenge. Event manager
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de Selenium
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Mi primera app con GAE y GWT
Mi primera app con GAE y GWTMi primera app con GAE y GWT
Mi primera app con GAE y GWT
 
Construyendo una app Android sobre la nube App Engine
Construyendo una app Android sobre la nube App EngineConstruyendo una app Android sobre la nube App Engine
Construyendo una app Android sobre la nube App Engine
 
Google App Engine1
Google App Engine1Google App Engine1
Google App Engine1
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnets
 
Modulo 1
Modulo 1Modulo 1
Modulo 1
 
Test Automation using seleniun webdrive.pdf
Test Automation using seleniun webdrive.pdfTest Automation using seleniun webdrive.pdf
Test Automation using seleniun webdrive.pdf
 
Argentesting 2017 - Anatomia Framework Automatización
Argentesting 2017 - Anatomia Framework AutomatizaciónArgentesting 2017 - Anatomia Framework Automatización
Argentesting 2017 - Anatomia Framework Automatización
 
pruebas de calidad.pdf
pruebas de calidad.pdfpruebas de calidad.pdf
pruebas de calidad.pdf
 
Test Unitarios y E2E front y Back
Test Unitarios y E2E front y BackTest Unitarios y E2E front y Back
Test Unitarios y E2E front y Back
 
[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java
 
Android
AndroidAndroid
Android
 
Atix20
Atix20Atix20
Atix20
 
Meetup TestingUy 2018 - Aprendiendo a Testear un Framework desde cero
Meetup TestingUy 2018 - Aprendiendo a Testear un Framework desde ceroMeetup TestingUy 2018 - Aprendiendo a Testear un Framework desde cero
Meetup TestingUy 2018 - Aprendiendo a Testear un Framework desde cero
 
Automatizacion de Pruebas
Automatizacion de PruebasAutomatizacion de Pruebas
Automatizacion de Pruebas
 
Congreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engineCongreso visión 2012 - taller introducción app engine
Congreso visión 2012 - taller introducción app engine
 
Atix13
Atix13Atix13
Atix13
 

Plus de TestingUy

Webinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalWebinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalTestingUy
 
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...TestingUy
 
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...TestingUy
 
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingWebinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingTestingUy
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingUy
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoTestingUy
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youTestingUy
 
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...TestingUy
 
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterMeetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterTestingUy
 
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterMeetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterTestingUy
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?TestingUy
 
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?TestingUy
 
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?TestingUy
 
Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!TestingUy
 
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...TestingUy
 
Charla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactCharla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactTestingUy
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsTestingUy
 
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelCharla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelTestingUy
 
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...TestingUy
 
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...TestingUy
 

Plus de TestingUy (20)

Webinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcionalWebinar TestingUy - Cuando el testing no es opcional
Webinar TestingUy - Cuando el testing no es opcional
 
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
Webinar TestingUy - Usando Principios del Testing de Software en Tiempos de C...
 
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...Webinar TestingUy -   Sesgos cognitivos en las pruebas. El lado más humano de...
Webinar TestingUy - Sesgos cognitivos en las pruebas. El lado más humano de...
 
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testingWebinar TestingUy - Thinking outside the box: Cognitive bias and testing
Webinar TestingUy - Thinking outside the box: Cognitive bias and testing
 
TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020TestingPy meetup - Invitación TestingUy 2020
TestingPy meetup - Invitación TestingUy 2020
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
 
Meetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with youMeetup TestingUy 2019 - May the automation be with you
Meetup TestingUy 2019 - May the automation be with you
 
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
Meetup TestingUy 2019 - De árboles, de bosques y de selvas ¿qué visión tengo ...
 
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeterMeetup TestingUy 2019 - En clave de protocolo con apache JMeter
Meetup TestingUy 2019 - En clave de protocolo con apache JMeter
 
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera TesterMeetup TestingUy 2019 - Si Tony Stark fuera Tester
Meetup TestingUy 2019 - Si Tony Stark fuera Tester
 
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
Meetup TestingUy 2019 - ¿Test cases? ¿Son siempre necesarios?
 
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
Charla TestingUy 2019 - ¿Podemos hacer que la seguridad sea usable?
 
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
Charla TestingUy 2019 - Testers as Test Consultants: How to learn the skills?
 
Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!Charla TestingUy 2019 - Ready Tester One? Go!
Charla TestingUy 2019 - Ready Tester One? Go!
 
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
Charla TestingUy 2019 - Patterns Para Enseñar Testing a Personas que No Desar...
 
Charla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con PactCharla TestingUy 2019 - Contract Testing con Pact
Charla TestingUy 2019 - Contract Testing con Pact
 
Charla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbotsCharla TestingUy 2019 - Testing de chatbots
Charla TestingUy 2019 - Testing de chatbots
 
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivelCharla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
Charla TestingUy 2019 - Cypress.io - Automatización al siguiente nivel
 
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
Charla testingUy 2019 - ¿De dónde venimos y qué se nos viene? - Evolución de ...
 
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
Charla TestingUy 2019 - Pruebas de rendimiento, experiencias en la plataforma...
 

Dernier

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 

Dernier (11)

Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

Taller Evento TestingUY 2018 - Test Automation Gourmet

  • 1. TEST AUTOMATION GOURMET Leonard Espíritu leonard.espiritu@gmail.com @lenerEO 21 y 22 de mayo, 2018 www.testinguy.org #testinguy |@testinguy
  • 2. HOLA! Soy Leonard Cuento con 8 años de experiencia en Software Testing, actualmente me desempeño como QA Lead en la Fábrica Digital del banco Scotiabank sede Perú. Y hace 2 años en #HablemosDeTesting.
  • 3. Agenda ✘ ¿Qué es Test Automation? ✘ Alternativas ✘ Mis recetas ✗ Ingredientes ✗ Preparación para Servicios ✗ Preparación para Web ✗ Preparación para Móviles ✘ Conclusiones
  • 4. Encuesta realizada por la compañía TechWell durante Mayo y Junio del 2016. ¿Qué nuevo conocimiento esperan tus supervisores que adquieras en los siguientes 12 meses?
  • 5. “Tests find bugs, not Automation”
  • 6. ¿Qué es Test Automation? Manual Automatizado - Herramienta - Código - Script - etc
  • 10. Mis Recetas Resultado de innumerables intentos de “prueba y error”
  • 11. Ingredientes IntelliJ Un IDE de programación que permite ejecutar rápidamente los Tests. Y muy útil para el debug de Tests. Gragle Nos permite organizar las dependencias del proyecto sin hacer pesado nuestro proyecto. Java Uno de los lenguajes más populares y que nos proporciona muchas librerías para los Tests.. TestNG Nos permite manejar los Tests. Lo potente es la Suite desde donde se puede centralizar las ejecuciones de los Tests Cucumber Gherkin para varios lenguajes, entre ellos Java. Permite tener nuestros Test cercanos a un lenguaje de Negocio. Selenium Un conjunto de librerías que nos permite interactuar con los objetos de una página Web.
  • 12. Ingredientes Page Object Pattern Una forma de estructurar un proyecto de automatización de páginas web para que sea fácil de mantener.. Appium Un framework que nos sirve de puente entre los Tests automatizados y los dispositivos móviles. Android SDK Nos permite administrar los dispositivos Android emulados.
  • 13. 1. IntelliJ 2. Gradle 3. Java 4. TestNG 5. Cucumber Preparación para Servicios
  • 14. 1. Crear un proyecto Gradle & Java 2. Agregar dependencias 3. Crear el Test Suite 4. Crear el Runner 5. Crear los Features 6. Crear los Step Definitios 7. Crear las clases Request & Response 8. Codificar los Steps Preparación para Servicios
  • 16. 1. IntelliJ 2. Gradle 3. Java 4. TestNG 5. Cucumber 6. Selenium 7. Page Object Pattern Preparación para Web
  • 17. 1. Crear un proyecto Gradle & Java 2. Agregar dependencias 3. Crear el Test Suite 4. Crear el Runner 5. Crear los Features 6. Crear los Step Definitios 7. Crear las clases Page Objects 8. Codificar los Steps Preparación para Web
  • 19. 1. IntelliJ 2. Gradle 3. Java 4. TestNG 5. Cucumber 6. Selenium 7. Page Object Pattern 8. Appium Preparación para Móviles
  • 20. 1. Crear un proyecto Maven & Java 2. Agregar dependencias 3. Crear el Test Suite (SDK version) 4. Crear el Runner 5. Crear los Features 6. Crear los Step Definitios 7. Crear las clases Page Objects 8. Codificar los Steps Preparación para Móviles
  • 22. Conclusiones More info on how to use this template at www.slidescarnival.com/help-use-presentation-template This template is free to use under Creative Commons Attribution license.You can keep the Credits slide or mention SlidesCarnival and other resources used in a slide footer.
  • 23. 21 y 22 de mayo, 2018 www.testinguy.org #testinguy |@testinguy ¿PREGUNTAS? ¡MUCHAS GRACIAS! Leonard Espíritu leonard.espiritu@gmail.com @lenerEO
  • 24. MATERIAL COMPLEMENTARIO AUTOMATIZACIÓN DE PRUEBAS EN ANDROID Leonard Espíritu leonard.espiritu@gmail.com @lenerEO 21 y 22 de mayo, 2018 www.testinguy.org #testinguy |@testinguy
  • 26. Agenda 1. ¿Qué es Appium? 2. Instalación / Configuración. 3. Crear un Proyecto Base. 4. Ejecución en dispositivos virtual y real.
  • 27. ¿Qué es Appium? Es un framework de automatización de pruebas de código abierto para: - Apps Nativas. - Apps Híbridas - Web Apps. Traduce los comandos de Selenium Webdriver para UIAutomator (Android) o UIAutomation (iOS). Soporta varios lenguajes de programación. Link: http://appium.io/
  • 28. Instalación / Configuración Lo que debemos instalar: 1. Java 7 (JDK). 2. Android SDK. 3. Appium. 4. Universal Windows ADB Driver (Link). 5. Eclipse. 6. TestNG en Eclipse. 7. ADT Plugin en Eclipse. Lo que se debe configurar: 1. JAVA_HOME 2. ANDROID_HOME 3. Android SDK
  • 29. Crear un Proyecto Base 1. Crear un Proyecto Maven basado en maven-archetype-quickstart. 1. Crear los siguientes packages: a. main : pages b. test : suites c. test : tests 1. Configurar en el POM: a. Java version. b. Selenium. c. Appium.
  • 31. Clase BaseTest Esta clase se usará como padre de todas las clase Test. Contiene las configuraciones / acciones necesarias para iniciar y terminar un Test. Recibe los parámetros de los Test Suites que determinan la versión de Android, entre otras cosas.
  • 32. Locators La mayoría de los controles usados en Android se encuentran en el package widget y a su vez heredan de la clase view. UI Automator es una herramienta del SDK de Android que nos permite visualizar las propiedades que se pueden usar para identificar un MobileElement. Link: https://goo.gl/Vf5l0t
  • 33. Test Suites Son archivos XML que nos permiten administrar la inclusión de parámetros y clases test en la ejecución de la automatización. Algunos parámetros importantes de los capabilities son: - appPackage - appActivity Una forma de obtenerlos es usando el utilitario adb.exe del SDK de Android: adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
  • 34. Ejecución Para iniciar la ejecución de la automatización es necesario tener corriendo Appium. IMPORTANTE: Para iniciar correctamente Appium es necesario indicar la ubicación del SDK de Android.
  • 36. Data collected during a 7-day period ending on May 7, 2018. Any versions with less than 0.1% distribution are not shown. Link