Automatización de Pruebas con Calabash

Calabash permite escribir y ejecutar pruebas de aceptación automatizadas para aplicaciones moviles. Es transversal a las plataformas nativas, por lo cual soporta aplicaciones nativas sobre Android y iOS. Calabash soporta Cucumber. Cucumber deja expresar el comportamiento de la aplicación usando un lenguaje natural que puede ser entendido por expertos de negocio y en general por equipos de personas que no tengan un perfil técnico.

Calabash cuenta con una serie de steps predefinidos que permiten escribir y ejecutar features y scenarios de forma rápida; sin embargo, es posible adicionar automatizaciones funcionales usando cualquier framework de automatización de pruebas basado en Ruby.

Configuración

Primero que todo necesitamos instalar Ruby. Siga las instrucciones que se encuentran aquí específicas a su sistema operativo. Una vez tenga Ruby instalado, instale calabash para android utilizando el siguiente comando:

$ gem install calabash-android

Nota: Puede que necesite elevar permisos a sudo para instalar la gema

La gema de calabash permite generar un esqueleto para realizar las pruebas. Para esto, desde su terminal ejecute el siguiente comando donde vaya a guardar su código:

$ calabash-android gen

Ahora descargue el apk de la aplicación Transmilenio y Sitp en este link y ubíquelo al mismo nivel del directorio features creado con el comando anterior.

Necesitamos generar el certificado necesario para poder instalar la aplicación en el emulador. Hágalo con este comando en su terminal al nivel en el que se encuentra el apk:

$ calabash-android resign Transmilenio\ y\ Sitp_v17.9.0_apkpure.com.apk

Ahora, para que calabash-android pueda encontrar el sdk de Android, usted debe crear una variable de ambiente. Cree una llamada ANDROID_HOME que apunte a la raíz del sdk de Android. Recuerde que desde Android Studio podemos ver dónde se encuentra el sdk. Revise este link en la sección Setting your PATH para ver cómo agregar variables de ambiente según su sistema operativo.

Especificación de la prueba

Ingrese al directorio features y edite el archivo my_first.feature para que quede de la siguiente manera:

Feature: Opening the help screen
    Scenario: As a user I want to be able to open the help screen from the side menu the first time I open the app

    Given I press "Paraderos"               
    #button to remove the splash screen
    When I swipe left
    #to open te menu
    And I press "Ayuda"
    Then I should see "Calcular ruta con horario"

Observe que definimos el feature de poder abrir la vista de ayuda, especificando el escenario en el que abrimos la aplicación por la primera y queremos abrir la vista de ayuda desde el menu lateral. También hacemos uso de comentarios usando uso del # para documentar por qué es necesario hacer click en paraderos y para qué queremos deslizar hacia la izquierda.

Ejecución de las pruebas

Con Calabash, no tenemos que definir los steps para poder ejecutar nuestra prueba. Hacemos uso de los steps predefinidos que se encuentran documentados aquí.

Abra el emulador desde Android Studio y desde su terminal, en el directorio donde se encuentra la carpeta features y el apk, ejecute el siguiente comando para lanzar la prueba:

$ calabash-android run Transmilenio\ y\ Sitp_v17.9.0_apkpure.com.apk

La ejecución de la prueba se verá similar a esto:

Su turno

1. Documentación de Calabash

Revise la documentación de los steps predefinidos que provee Calabash para automatizar las pruebas, puede encontrarlos en este enlace.

2. Defina sus propias pruebas

El objetivo es que usted gane confianza utilizando las herramientas que hemos trabajado, para ello documente el Feature Viajar en Transmilenio, SITP o Taxi, de la aplicación de Transmilenio y Sitp, nosotros le recomendamos los siguientes escenarios:

  • Calcular un viaje seleccionando la estaciones desde las troncales principales de transmilenio.
  • Calcular un viaje escribiendo los nombres de las estaciones en los pasos destinados para ello.
  • Calcular un viaje usando el mapa del sistema al seleccionar dos estaciones.

Bibliografía

Pruebas Automaticas - MISO 4208 - Taller 5: BDD utilizando Cucumber y Calabash - Universidad de los Andes

results matching ""

    No results matching ""