Resumen

Cypress es la herramienta o framework que nos permite simular la interacción de los usuarios con el browser. Para llevar a cabo el End-to-end testing (e2e) es necesario disponer de una herramienta que simule esa interacción y Cypress es la más adecuada para ello.

La herramienta ha sido producto de una evolución a partir de conceptos y frameworks anteriores como: Selenium, PhantomJS, Nightwatch y Puppeteer.

En el caso de que nuestro aplicativo requiera un backend será necesario utilizar una copia de este que sea lo más exacta posible a lo que estará luego en producción.

Principales ventajas de Cypress

  • No usa Selenium, por lo que es muy sencillo de integrar.
  • Está hecho con Electron lo que le da acceso y control a una instancia de Chrome u otro navegador.
  • Está enfocado exclusivamente en hacer e2e testing, y hacerlo muy bien.
  • Funciona con cualquier librería o framework de frontend siempre que corran 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 desarrolladores de QA.
  • Es mucho más rápido que cualquier otra alternativa existente a la fecha.