Leonard Espíritu presenta sobre testeo automatizado de aplicaciones móviles. Explica qué es Appium y cómo configurarlo para automatizar pruebas en Android. Detalla los pasos para crear un proyecto base en Java y ejecutar pruebas tanto en dispositivos virtuales como reales.
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?
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.
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
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
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.