Está en la página 1de 4

¿Qué es Cypress?

Para llevar a cabo el End-to-end testing (e2e) es


necesario disponer de una herramienta que simule la
interacción de los usuarios con el browser. Cypress es esa
herramienta o framework, que nos permite simular esa
interacción. 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
 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.
appium

 Admite pruebas de dispositivos multiplataforma


(dispositivos reales y simuladores), así como la
posibilidad de probar dispositivos remotos

 Utiliza un WebDriver en su núcleo, lo que significa que


también puede escribir sus pruebas en una variedad de
lenguajes de programación diferentes compatibles con
Selenium como Java o Python

 Se basa en un servidor HTTP basado en Node.Js con


una API REST para escuchar comandos y responder

 'Appium Desktop' como una GUI multiplataforma


(Electron) para el servidor Appium, que también incluye
un inspector para inspeccionar su aplicación con fines de
depuración de prueba
 Usa la accessibilityLabelpropiedad para ubicar
componentes en pruebas

Detox

 Admite pruebas de dispositivos multiplataforma


(dispositivos y simuladores reales, pero no dispositivos
iOS reales)

 No se basa en WebDriver, sino que se centra


en EarlGrey y Espresso , que son los principales
controladores nativos de Gray Box desarrollados por
Google (código abierto)

 Utiliza internamente clientes websocket con un


servidor proxy intermedio, lo que hace que su
arquitectura interna sea más flexible y ofrece una
bonificación de rendimiento, ya que las afirmaciones se
evalúan directamente en el dispositivo.

 Usa la testID propiedad para ubicar componentes en


pruebas

 Requiere que también crear un APK para su código de


prueba de Android

Recomiendo usar Detox para las pruebas E2E (opinión y


experiencia personal), ya que la sincronización con los
dispositivos es mucho menos dolorosa. Por ejemplo, esto
significa que no necesitamos dormir por los segundos
mientras el paquete de JavaScript se carga desde el paquete
de paquetes.

También podría gustarte