El desarrollo de pruebas es una parte vital dentro del ciclo de desarrollo de aplicaciones de software, ya que ayuda a disminuir el número de bugs y regresiones, asegurando la calidad de las aplicaciones. Durante este ciclo, existen varios tipos de pruebas útiles para garantizar dicha calidad, entre las más comunes están las pruebas unitarias y las pruebas funcionales.
En la actualidad, existen muchas herramientas que facilitan el proceso de automatización de pruebas funcionales, dependiendo de la plataforma en la que se ejecuten las aplicaciones. La automatización de pruebas nos ahorra tiempo, ya que no es necesario que una o varias personas ejecuten los mismos escenarios de prueba cada vez que hay un nuevo release.
En este artículo, vamos a explorar CasperJS, una herramienta que facilita la automatización de escenarios de pruebas funcionales.
1. Instalación de CasperJS en Ubuntu 13.10
Para instalar CasperJS en Ubuntu, sigue los siguientes pasos en la terminal:
Para otros sistemas operativos o versiones, puedes consultar la página oficial de CasperJS.
2. Automatización de un Escenario de Prueba
Una vez que CasperJS está instalado, vamos a automatizar un pequeño escenario de prueba en el cual realizamos una búsqueda de "1+2" en Google desde https://www.google.com.pa. Para ello, vamos a crear un archivo llamado calculadora.js con el siguiente código:
Nota: Para obtener más detalles sobre los métodos disponibles en CasperJS, puedes consultar la documentación oficial.
3. Ejecución del Escenario de Prueba
Una vez que hayas creado el archivo calculadora.js, puedes ejecutar el escenario desde la terminal con el siguiente comando:
4. Resultados y Verificación de la Prueba
Al ejecutar el comando anterior, deberías obtener el siguiente resultado en la terminal:
Además, al revisar la carpeta donde se encuentra el archivo calculadora.js, verás dos nuevos archivos PNG (paso-1.png y paso-2.png). Estos screenshots fueron tomados al final de cada paso gracias al método casperObject.capture, lo que nos permite tener una visión visual del estado de la navegación después de cada paso.
De esta forma, puedes automatizar escenarios de prueba funcionales utilizando CasperJS, ahorrando tiempo y recursos en la ejecución de pruebas repetitivas durante el ciclo de desarrollo de software.