Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Taller Evento TestingUY 2018 - Test Automation Gourmet

153 views

Published on

Exopositor: Leonard Espíritu

Duración: 4 horas

Resumen: En este taller revisaremos qué es automatización de pruebas y las alternativas de implementación que hay en el mercado, luego con algunos “ingredientes” seleccionados pasaremos a aprender su “preparación” de tres maneras diferentes: Pruebas automatizadas para Servicios, Pruebas automatizadas para Web y Pruebas automatizadas para Móviles.

El participante deberá traer su laptop. Se requiere un equipo con un mínimo de 8 Gb. de RAM y el siguiente software instalado:

JDK 1.8
IntelliJ Community Edition 2018.1.2
Appium Desktop 1.5.0 o superior
Android Studio 3.1 (Android Studio package)
Android SDK 26.1.1 (SDK tools package)
Android API 23 (6.0). Se debe instalar con el SDK Manager de Android Studio.
Chrome Driver

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Taller Evento TestingUY 2018 - Test Automation Gourmet

  1. 1. TEST AUTOMATION GOURMET Leonard Espíritu leonard.espiritu@gmail.com @lenerEO 21 y 22 de mayo, 2018 www.testinguy.org #testinguy |@testinguy
  2. 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. 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. 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. 5. “Tests find bugs, not Automation”
  6. 6. ¿Qué es Test Automation? Manual Automatizado - Herramienta - Código - Script - etc
  7. 7. Fuente: Dorothy Graham
  8. 8. ¿Qué hacemos?
  9. 9. Test Automation Pyramid
  10. 10. Mis Recetas Resultado de innumerables intentos de “prueba y error”
  11. 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. 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. 13. 1. IntelliJ 2. Gradle 3. Java 4. TestNG 5. Cucumber Preparación para Servicios
  14. 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
  15. 15. Practica 1 https://github.com/lenerEO/base.git http://api.mathjs.org/
  16. 16. 1. IntelliJ 2. Gradle 3. Java 4. TestNG 5. Cucumber 6. Selenium 7. Page Object Pattern Preparación para Web
  17. 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
  18. 18. Practica 2 https://github.com/lenerEO/baseweb.git https://es.wikipedia.org
  19. 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. 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
  21. 21. Practica 3 Calculadora
  22. 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. 23. 21 y 22 de mayo, 2018 www.testinguy.org #testinguy |@testinguy ¿PREGUNTAS? ¡MUCHAS GRACIAS! Leonard Espíritu leonard.espiritu@gmail.com @lenerEO
  24. 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
  25. 25. Link: https://goo.gl/N0gRdg
  26. 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. 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. 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. 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.
  30. 30. Demo 1
  31. 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. 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. 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. 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.
  35. 35. Demo 2
  36. 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

×