Selenium VS Cypress ¿Cuál es mejor?

En la actualidad hay diferentes Frameworks de automatización, los cuales tienen sus pros y contras. Este artículo se centrará en una breve comparación entre Selenium y Cypress, ya que brindan infinidad de posibilidades a la hora de definir una estrategia de automatización para un proyecto.

Desde su lanzamiento, Cypress ha despertado el interés en el mundo del software ya que su característica más sonada es que No usa Selenium, lo cual no ha pasado desapercibido entre testers y desarrolladores, puesto que cambia la concepción que se tiene sobre cómo construir un test automatizado.

Ahora bien, ¿En qué radica su diferencia?. Para darle una respuesta a esto, es necesario revisar la arquitectura de cada uno.

Arquitectura de Selenium.

selenium architecture

Selenium se compone de librerías que funcionan a través del protocolo HTTP JSON, que por medio de peticiones HTTP establece la comunicación entre un driver y el navegador real.

Arquitectura de Cypress.

cypress architecture

Cypress por otro lado tiene una arquitectura completamente diferente, este usa un proceso de servidor de node.js que interactúa con el navegador en tiempo real, sin utilizar un driver como intermediario.

La diferencia entre sus arquitecturas, permite sacar una de las primeras conclusiones, la cual es con respecto al tiempo de ejecución, ya que, Cypress al eliminar el driver como medio para interactuar con los objetos, realiza una ejecución más rápida. Pero esto no es lo único que se debe tener en cuenta a la hora de seleccionar un framework. Por lo que a continuación se presenta un cuadro comparativo, que permitirá ampliar la información de Selenium Vs Cypress, lo que dará criterios de decisión al momento de implementar una estrategia de automatización.

¿Cómo elegir entonces qué framework usar?

Lo principal es construir una automatización fácil de entender y mantener, para que esta no se convierta en ejecución de pruebas manuales. Por lo cual se deben plantear las siguientes preguntas:

1. ¿Está el proyecto en JavaScript?

2.¿Puedo desarrollar en Javascript?

3.¿Equipo de QA´s y Desarrollo tienen buena comunicación?

Si la respuesta es a las primeras dos preguntas, entonces Cypress es una excelente opción, ya que al integrar el código de la aplicación con el Script de automatización en un único repositorio, hace que la comunicación y apoyo entre los integrantes del equipo sea más alta, obteniendo mayor velocidad de respuesta a los errores. Adicional al ser todo el proyecto escrito en el mismo lenguaje garantiza mayor entendimiento e integridad.

Ahora si la respuesta de la 2 fue No, es mejor optar por Selenium y aprovechar un lenguaje en el que estés cómodo, lo conozcas y se acople a tu proyecto de automatización.

En conclusión, no hay respuesta fija con respecto a cuál Framework es mejor, ya que es necesario evaluar las características y particularidades de cada proyecto, para así determinar con éxito la mejor estrategia de automatización. Este artículo, solo pretende brindar algunos puntos a considerar. Se recomienda recurrir a la documentación oficial, en caso de necesitar más criterios para tomar la decisión, elegir la mejor alternativa y que las certificaciones generen más valor.

Links de documentación oficial

--

--