- Blog Medium: https://goo.gl/qth3yR
- Vídeo Ejecución: https://youtu.be/twBw1U78doY
La herramienta realiza tres tipos de técnicas para pruebas automáticas de aplicaciones móviles Android, como son:
ADB Input: El Android Debugging Bridge (adb) permite lanzar eventos de interacción sobre los dispositivos Android desde el terminal, eventos como:
- TAP
- TEXT
- SWIPE
- Keyevent
Monkey Testing: Haciendo uso del comando entregado por ADB se hace la ejecución de modo Monkey testing, teniendo opciones como establecimiento de la semilla y establecer el porcentaje de ejecución de evento como:
- Touch.
- Motion.
- Trackball.
- Navigation.
- KeyEvents
Behavior Driven Development (Calabash): Haciendo uso del lenguaje común como es Gherkin, se hace este tipo de pruebas, en este caso se solicita el archivo .features que contiene los pasos a seguir.
Antes de la instalación, es necesario la configuración de la base de datos, en el archivo database.sql, se encuentra el script con las sentencias SQL necesarias para la creación de la base de datos.
Es necesario la creación del archivo .env.config
en la raíz del proyecto, que contenga los valores correspondiente a las variables de entorno, que son consumidad en el archivo config.js
DATABASE_HOST=
DATABASE_USER=
DATABASE_PASSWORD=
ADB_DIRECTORY=adb
AAPT_DIRECTORY=
APK_DIRECTORY=
Si se tiene configurado adb de forma global no es necesario establecer la ruta completa, igualmente para el comando aapt
Estando en el directorio del proyecto ejecutar el comando:
npm install
npm start
- Para realizar las pruebas en diferentes dispositivos se ha hecho uso de Genymotion, el cual permite la ejecución de varios emuladores con diferentes versiones de Android.
- Para la ejecución de las pruebas de tipo BDD es necesario que se encuentre instalado la gema calabash-android
- Es necesario calcular las posiciones de los emuladores para la catptura de pantalla de la prueba, en la tabla adb_devices en los campos
position_window
ydimension_window
Ejemplo dimensiones
position_window=0x290 -> Siendo 0 el valor en X, 290 el valor en Y
dimension_window=455x735 -> Siendo 455 el ancho y 735 el alto.
- Jorge Rubaino @ostjh
MIT