
Cypress: La novedosa herramienta todo en uno.
Cypress – Herramienta para Automation Testing
Generalmente cuando comenzamos en un proyecto, es normal, que no sepamos con qué tecnologías desarrollar bien las pruebas unitarias o end to end. Y suele ser una decisión complicada al haber frameworks que nos permitan combinarlas y lograr las pruebas deseadas. Pero hoy en día contamos con un nuevo framework que parece ser la solución a nuestros problemas a la hora de decidir qué usar para nuestras pruebas.
Cypress hace que sea rápido y fácil comenzar a probar, y cuando comience a probar su aplicación a menudo se preguntará si está utilizando las mejores prácticas o estrategias escalables.
Cypress es una herramienta de prueba de front-end de próxima generación creada para la web moderna. Donde se toman los puntos clave que los desarrolladores e ingenieros de control de calidad enfrentan cuando prueban aplicaciones modernas.
Con este framework podemos:
- Configurar pruebas
- Escribir pruebas
- Ejecutar pruebas
- Pruebas de depuración
Cypress, se compara con mayor frecuencia con Selenium; sin embargo, Cypress es fundamental y arquitectónicamente diferente. Cypress no está limitado por las mismas restricciones que Selenium. Esto le permite escribir pruebas más rápidas, fáciles y confiables
¿Cypress puede realizar pruebas unitarias?
Aunque su mayor cometido es realizar pruebas e2e, al ser un framework que incluye Mocha, Chai y Sinon se pueden realizar perfectamente pruebas unitarias.
Cypress opera dentro de la aplicación, lo que permite realizar las siguientes acciones, que son muy útiles, tanto para test unitarios como para los test e2e:
- Realizar stubs de funciones para forzar ciertos comportamientos.
- Exponer data stores desde el código de los test.
- Testear las respuestas a errores modificando el status code de la respuesta del servidor a un 500.
- Evitar hacer siempre login gracias a comandos como cy.request() que envía directamente una petición HTTP.
También tiene acceso nativo a todos los elementos, desde elementos DOM y funciones, hasta la ventana o temporizadores. Las pruebas tienen que estar escritas en Javascript.
¿Qué funcionalidades tiene?
Entre las muchas funcionalidades que ofrece Cypress, una de ellas es que puede ejecutar las pruebas sin la necesidad de tener un navegador instalado.
El navegador headless y tiene muchas ventajas:
- Es más rápido, ya que corre en memoria y no requiere de toda la preparación que tienen los navegadores gráficos.
- Se pueden tomar screenshots o vídeos como si fuera una prueba automatizada normal.
- Cuando se trabaja con una herramienta de integración continua y entrega continua, como Jenkins, nos permite correr las pruebas e2e sin necesidad de tener un navegador instalado.
Cuando ejecutamos el comando cypress run desde la carpeta el proyecto, ejecuta los test de forma headlessly. Por defecto, Cypress ejecuta todos los test desde la consola y graba un vídeo con las pruebas realizadas.
En Conclusion,
Podemos decir que es una herramienta bastante completa para realizar pruebas end to end automáticas sobre un frontal web. Ofrece una API muy práctica y el fichero example_spec.js contiene muchos ejemplos de las funciones.
Es una gran herramienta a tener en cuenta en futuros proyectos. Para nosotros, sin duda Cypress ha sido esa herramienta que llego para quedarse, nos ha aliviado un gran dolor y esperamos que al integrarlo a nuestro pipeline, podamos evitar por completo cualquier equivocación que como seres humanos no estamos exentos a cometer.
Y tú ¿Cómo escribes tus test? ¿Ya has usado Cypress? Cuéntanos tu experiencia en los comentarios. También estamos abiertos a leer cualquier sugerencia, comentala.
Etiqueta:automatización, cypress, qa, software, testing
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.
1 Comentario
Excelente información, cuando activaran un curso para aprender esta herramienta.