<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=160269078105920&amp;ev=PageView&amp;noscript=1">

Ya utilizo Selenium, ¿por qué debería aprender Cypress?

Jueves 11 de Febrero 2021.
Tiempo de Lectura: 4 minutos.
Por Alejandro Jean Carlo Rodriguez Montaño



Después de conocer y usar Selenium, esa herramienta que tanto nos gusta para automatizar y que es tan famosa y útil, podemos llegar a creer que no existe nada mejor. Bueno, al menos yo pensé de esa manera por mucho tiempo, siempre sugiriendo Selenium para nuevos proyectos. Sin duda es una excelente herramienta para el desarrollo de tests automatizados.

Hace algunos meses atrás empecé a escuchar cada vez más seguido la palabra “Cypress” en el entorno de calidad. Si bien ya había escuchado de su existencia, no le di mucha importancia hasta que las entrevistas de trabajo y publicaciones de requerimiento de personal para el área de automatización comenzaron a solicitar que el postulante tuviera conocimiento de Cypress. Ya después de aprender un poco de la herramienta y trabajar con ella por algún tiempo, me di cuenta de porqué Cypress se requiere cada vez más. En este artículo vamos a hablar un poco de sus beneficios. 

¿Qué es Cypress?

Cypress es un framework de automatización de pruebas que tiene una arquitectura diferente a lo acostumbrado. Su “built-in tools“ es un framework todo en uno que viene con las herramientas necesarias para comenzar a automatizar inmediatamente.

Principales funcionalidades

Cypress cuenta con muchas ventajas/herramientas que nos ayudan bastante a la hora de automatizar nuestras pruebas, entre ellas tenemos:

Time Travel: Cypress toma ‘snapshots’ mientras los tests están corriendo. De esta manera podemos identificar fácilmente lo que está pasando con nuestros tests simplemente moviendo el mouse a través del command log.

Test Runner: Cypress corre los tests en un ‘runner’ interactivo que nos permite ver los comandos que se están ejecutando mientras vemos la aplicación que se está testeando.

Dashboard: Es un servicio que nos da acceso a todas las pruebas realizadas; por ejemplo, en nuestra herramienta de integración continua (CI), Dashboard nos brinda información de lo que sucedió en las pruebas tomando screenshots y grabando videos de las pruebas fallidas. Además, nos permite organizar nuestro proyecto Cypress desde un solo lugar, brindando integración con otras herramientas como Github y Slack.

Headless: Es una funcionalidad de Cypress que nos permite correr nuestros tests en background, ocultando el navegador. 

Ventajas

Entre las principales ventajas de usar Cypress tenemos:

    • Es fácil de instalar y empezar a automatizar. Cypress cuenta con varias herramientas Built-in que nos permiten empezar nuestra automatización inmediatamente después de su instalación.

    • Registra todas las acciones realizadas para poder hacer un mejor ‘debugging’ a los casos de prueba. 
  • Toma ‘screenshots’ y graba videos. Dashboard nos da muchas ventajas para poder brindar reportes concretos y fiables de nuestros casos de prueba.

  • Documentación completa y con ejemplos en el sitio oficial.

Desventajas

Hay muchas otras ventajas que tiene Cypress con respecto a las otras herramientas de automatización, pero también tiene desventajas que debemos mencionar para tener un panorama más claro de la herramienta. Entre ellas encontramos:

  • Cypress solo permite interactuar con un solo tab de la AUT y esto no cambiará. Dada su arquitectura y como Cypress corre en el navegador, sí existen formas de mitigar esta situación.

  • No es posible hacer un ‘mouseover’ con Cypress. Actualmente existe un ticket al respecto que seguramente será añadido en las siguientes versiones.

  • Cypress es gratis! Pero el servicio Dashboard tiene ciertas restricciones. A partir de 5 usuarios, el costo es de $100 mensuales y la tarifa incrementa dependiendo del número de usuarios.

  • Si bien podemos usarlo, el patrón “Page Object Model” no está recomendado por los desarrolladores de Cypress. Desde mi punto de vista, esto tiene que ver con la manera en que se usa la sincronía/asincronía. Este es un tema en el cual se puede profundizar bastante, pero ¡no hay que asustarse! Es cuestión de conocer un poco el lenguaje de programación y la forma en que se maneja la sincronía, luego podemos seguir usando nuestro patrón favorito de automatización.

  • Si no conoces Javascript o algún otro lenguaje de scripting, puede que llegues a confundirte un poco al principio.

 

Como conclusión, recomiendo altamente aprender a usar Cypress debido a cómo está evolucionando en el mercado de herramientas de automatización, así como por lo divertido y rápido que es automatizar con este framework.

idea

Puntos Clave

  1. Cypress es un framework de automatización de pruebas de software con una arquitectura diferente a lo acostumbrado. Sus herramientas ‘built-in’ incluyen todo lo necesario para comenzar a automatizar inmediatamente después de su instalación. 
  2. Las ventajas de utilizar Cypress incluyen: facilidad al instalar y al automatizar, registro de todas las acciones realizadas, facilita la generación de reportes concretos y confiables y cuenta con documentación completa. 
  3. Entre las desventajas de Cypress encontramos: sólo permite la interacción con solo un tab de la AUT, no permite realizar un ‘mouseover’, posee limitaciones en el servicio gratuito y no es recomendable usar el patrón ‘Page Object Model’.

 

Acerca de Avantica

En Avantica trabajamos como un socio de software que le ayuda a cumplir sus objetivos comerciales y dar solución a cada reto que se le presente. Ofrecemos equipos dedicados y buscamos constantemente las mejores metodologías para brindarle los mejores resultados.

Iniciemos un proyecto
ANTERIOR
IA: ¿una mina de oro para la industria inmobiliaria?
SIGUIENTE
Cumpliendo la intención del usuario con buen UX

¿Qué calificación merece este artículo?