🥑
Introduction to Cypress
  • Bienvenidos
  • Introducción
    • Qué es End-to-End Testing
    • Qué es automatización de pruebas
    • Testing Automatizado vs. Testing Manual
  • Cypress
    • Qué es Cypress
    • Instalación
      • Update
      • Nuevo proyecto
    • Framework
    • Escribiendo el primer test
    • Ejecutando el primer test
    • Configurando Reportes
    • Conclusiones
Powered by GitBook
On this page
  • Cypress tiene acceso nativo a todo
  • Sí es posible realizar pruebas End-to-End completamente fácil
  • Principales ventajas de Cypress.io

Was this helpful?

  1. Cypress

Qué es Cypress

PreviousTesting Automatizado vs. Testing ManualNextInstalación

Last updated 5 years ago

Was this helpful?

es una herramienta para testing front-end de código abierto construido para la web moderna. Cypress nos permite realizar end-to-end testing para simular la interacción que puede realizar un usuario con un browser.

Este framework ha sido producto de una evolución a partir de conceptos y frameworks anteriores como: Selenium, PhantomJS, Nightwatch y Puppeteer. Así mismo, es un framework "todo en uno", ya que incluye librerías de aserciones, mocks y pruebas end-to-end automáticas sin utilizar Selenium.

7 maneras en que Cypress es diferente

  • No usa Selenium, por lo que es muy sencillo de integrar.

  • Está enfocado exclusivamente en hacer end-to-end testing de una forma fácil y rápida.

  • Funciona con cualquier librería Javascript o framework de front-end (React, Angular, Vue, Meteor, JAMstack) siempre que corra en un navegador.

  • Los tests están escritos en JavaScript.

  • Es un "Todo en uno", por lo que no requiere la instalación de paquetes de terceros para hacer su trabajo; sin embargo, se puede extender su funcionalidad con módulos adicionales.

  • Es amigable con los desarrolladores y los equipos de QA.

  • Es mucho más rápido que cualquier otra alternativa existente a la fecha.

Cypress tiene acceso nativo a todo

La mayoría de las herramientas de automatización funcionan ejecutándose fuera del navegador o ejecutando comandos remotos a través de la red. Cypress es exactamente lo contrario. Cypress se ejecuta en el mismo ciclo de ejecución que su aplicación. Detrás de Cypress hay un proceso corriendo bajo un servidor de Node.js y opera en una capa de red leyendo y alterando el tráfico web sobre la marcha. Esto permite a Cypress no solo modificar todo lo que entra y sale del navegador, sino también controlar el código que puede interferir en todo el proceso de automatización de arriba a abajo durante la ejecución, debido a que tiene acceso nativo a cada objeto; ya sea que se trate de un elemento DOM, una ventana, una función, un temporizador, un service worker o cualquier otra cosa. Esto significa que Cypress es capaz de ofrecer resultados más consistentes que cualquier otra herramienta de prueba.

Sí es posible realizar pruebas End-to-End completamente fácil

La automatización de pruebas comienza siempre con una primera fase de testing manual, con el fin de explorar lo que ha sido entregado por el equipo de desarrollo para después ser automatizado. Sin embargo, con Cypress puedes iniciar a programar tus tests inmediatamente este desplegado el código en tu ambiente de pruebas. Las pruebas escritas en Cypress son fáciles de leer y comprender. La API viene completamente integrada, tiene una documentación muy completa y además ya viene con todas las herramientas con las que ya está familiarizado.

La semántica para escribir los test en Cypress.io es muy fácil de comprender incluso si no tienes muchas nociones de programación, sin embargo, la principal ventaja de Cypress es que está claramente dirigido al desarrollador front-end, por lo que si ya conoces de Javascript será muy fácil escribir tus primeros test con Cypress.

Principales ventajas de Cypress.io

Fácil debugging: Cypress muestra errores legíbles y hace que la depuración sea fácil y rápida. Las pruebas escritas en Cypress son fáciles de leer y comprender.

Captura de videos y screenshot: Cypress es útil para grabar las pruebas o para tomar capturas de pantalla en caso de falla de algún escenario.

Pruebas en tiempo real: Se pueden ver las pruebas que se ejecutan en tiempo real a medida que se desarrolla la aplicación.

Línea de tiempo: Cypress toma snapshots cada vez que corre un test. Simplemente pasando el mouse sobre un comando podras ver exactamente que pasó en cada paso.

Recargas en tiempo real: Cypress automáticamente recarga en tiempo real el runner dashboard cuando se realiza un cambio en los tests.

Esperas automáticas: Nunca más será necesario agregar "waits" o "sleeps" en los tests. Cypress automáticamente realiza "waits" para realizar correctamente las aserciones antes de mover al siguiente paso.

Control de tráfico de red: Se puede bloquear el control de tráfico de red como quiera, sin involucrar al servidor.

Fácil instalación: Solo se necesita de Node.js y el paquete de Cypress.io instalado para empezar a escribir su primera prueba End-to-End en 60 segundos. No hay servidores, controladores ni ninguna otra dependencia que instalar o configurar.

Si deseas conocer más detalles acerca de las características de Cypress.io puedes acceder aquí:

🐞
📸
🚀
🔠
🔃
⌚
🚦
✅
Cypress.io
https://www.cypress.io/features