Automatización de pruebas móviles con Calabash I. Calabash y BDD
Calabash, traducido en español como calabaza, es un framework de software libre (mantenido aquí) que te permite escribir y ejecutar pruebas funcionales automatizadas contra la interfaz de usuario de una aplicación móvil, tanto en Android como en iOS (ya sea en dispositivos o en emuladores).
Resumidamente, Calabash funciona lanzando de manera automatizada interacciones de interfaz de usuario,como presionar botones, introducir texto, la validación de las respuestas, etc.
En la siguiente imagen se puede ver la estructura de cómo se integra Calabash, con los casos de prueba usando Cucumber, y así ejecutar y validar las aplicaciones en Android e iOS:
Calabash fue desarrollado por LessPainful y comprado por Xamarin. Está basado en Cucumber y desarrollado en Ruby, no obstante, se pueden usar otros lenguajes, ya que Calabash es independiente del lenguaje utilizado para el desarrollo.
A parte de para ejecutar y validar pruebas de aceptación, otra de las grandes utilidades de Calabash es que al estar vinculado con Xamarín Test Cloud, los casos de prueba con Calabash se pueden configurar para ejecutarse en cientos dispositivos móviles proporcionando información en tiempo real entre otras cosas, permitiendo así comparar y validar fácilmente los resultados de las pruebas y el aspecto visual de su aplicación a través de diferentes dispositivos y diferentes Sistemas Operativos.
Calabash está pensado para ser usado en un modelo de Testing BDD.
En la siguiente imagen, podemos ver una consulta, en la que hay dos botones: una con el texto “Aceptar” para el botón con id “Button1”, y el otro con el texto “Rechazar” e id “button2”. Además contiene la posición de cada uno de los botones, si están o no habilitados para su uso, etc.

Acciones como tocar (u otros gestos) se puede hacer de dos maneras:
Si quieres ver todos los comandos puedes usar query(“*”). Aquí puedes encontrar más información sobre las querrás.
Francisco Javier Cervigon Ruckauer
Resumidamente, Calabash funciona lanzando de manera automatizada interacciones de interfaz de usuario,como presionar botones, introducir texto, la validación de las respuestas, etc.
En la siguiente imagen se puede ver la estructura de cómo se integra Calabash, con los casos de prueba usando Cucumber, y así ejecutar y validar las aplicaciones en Android e iOS:
A parte de para ejecutar y validar pruebas de aceptación, otra de las grandes utilidades de Calabash es que al estar vinculado con Xamarín Test Cloud, los casos de prueba con Calabash se pueden configurar para ejecutarse en cientos dispositivos móviles proporcionando información en tiempo real entre otras cosas, permitiendo así comparar y validar fácilmente los resultados de las pruebas y el aspecto visual de su aplicación a través de diferentes dispositivos y diferentes Sistemas Operativos.
Calabash está pensado para ser usado en un modelo de Testing BDD.
Las “queris” en Calabash
A día de hoy, se ha implementado un lenguaje de consulta para Calabash, Calabash Query Language (y se sigue trabajando en ello). La API de Calabash Android Ruby API y Calabash iOS Ruby API tienen métodos de consulta que seleccionan objetos visibles en la pantalla en tu aplicación. Los métodos de consulta cogen un argumento de tipo string que describe los objetos que se “consultan”. La sintaxis de las consultas se basa en UIScript (aquí te dejo información sobre UIScript). Si quieres saber más sobre las consultas y las sintaxis de Calabash te dejo un link.En la siguiente imagen, podemos ver una consulta, en la que hay dos botones: una con el texto “Aceptar” para el botón con id “Button1”, y el otro con el texto “Rechazar” e id “button2”. Además contiene la posición de cada uno de los botones, si están o no habilitados para su uso, etc.
Acciones como tocar (u otros gestos) se puede hacer de dos maneras:
- Se puede hacer una consulta mediante touch función (por ejemplo touch(“button text:’Accept'”))
- O se puede almacenar el resultado de una consulta pasado en una variable: bin = query(“button text:’Accept'”) y luego touch(bin).
Si quieres ver todos los comandos puedes usar query(“*”). Aquí puedes encontrar más información sobre las querrás.
No hay comentarios:
Publicar un comentario