Para mi una de las caracterÃsticas más fuertes de Cypress es la de retry-ability, la cual consiste en el runner reintentará alguna prueba que haya fallado.
Introducción al curso
¿Qué es Cypress?
Conociendo Cypress
Cypress vs. Selenium
Preparando nuestro ambiente y entendiendo la estructura de Cypress
Crea tu primer prueba
Nuestra primer prueba
Navegación
Elementos y localizadores
Tipos de localizadores
Encontrando elementos
Guardando elementos
Creando una Prueba
Aserciones
Hooks
Debuggear con Cypress
Esperar por elementos
Tipos de espera
Ejecución de Cypress
Modos de ejecución en Cypress
Interactuando con elementos
Click
Trabajando con inputs
Trabajando con checkboxes y radio botones
Extrayendo informacion y haciendo validaciones
Trabajando con listas y dropdowns
Trabajando con tablas
Trabajando con date pickers
Trabajando con popups y tooltips
Trabajando con elementos de drag and drop
Próximos pasos
¿Quieres más cursos de Cypress?
Javier Fuentes Mora
Aportes 12
Preguntas 2
Para mi una de las caracterÃsticas más fuertes de Cypress es la de retry-ability, la cual consiste en el runner reintentará alguna prueba que haya fallado.
Al dÃa del hoy dos de estos Treade-Off
Como fue descrito en esta sesión, Cypress es una herramienta enfocada en la practicidad para la planeación y ejecución de pruebas, permitiendo correr y evaluar casos de usos que uno pudiera enfrentar en un desarrollo mediante web.
.
.
De la imagen podemos observar el stack tecnológico que engloba Cypress para el cual, en su documentación How It Works, se enfoca en la versatilidad a la gama amplia de escenarios.
.
Siendo un Framework, permite el desarrollo mediante el enfoque Test-Driven-Development TDD, agilizando el desarrollo de soluciones enfocadas a las pruebas.
.
Si bien. se mencionan varias en la sesión, en definitiva me quedo con la siguiente:
.
La mayorÃa de las herramientas de prueba, funcionan ejecutándose fuera del navegador ejecutando comando remotos. Cypress, a su vez, ejecuta el mismo ciclo de aplicación mediante un proceso de NodeJS permitiendo la comunicación sÃncrona para con las tareas que se realizan en curso.
.
De eso, podemos menciona que Cypress opera en la capa de red al leer y alterar el trafico de la web en curso, exponiendo dicha capa para con un proceso de automatización, brindando resultados más consistentes con nuestra área de Quality-Assurance QA.
.
Desarrollar con pruebas permitirá minimizar el radio de explosión de nuestra deuda técnica, enshurando nuestro código para futuros cambios.
Caracteristicas:
Viajes en el tiempo: nos permite ver nuestra prueba y como se ejecuto cada paso.
Depuracion de Errores
Espera automáticamente por los elementos
Spies, Stubs ando Clocks(Espias, Trozos y Relojes): son mas útiles para pruebas unitarias por que nos permite mockear ciertas funciones, espiar en ellas para ver cuando se ejecutan, si son llamadas etc.
Control de trafico de red: Se puede ir viendo que peticiones se hicieron en la red y todos sus estados(fallido, exitoso)
Resultados Consistentes: que cypress trata de atacar en en forma contundente los fields Items.
Nos ofrece captura de pantalla directamente de la red
Comprarcion entre Cypress y Selenium
selenium soporta todos los navegadores, cypress no.
cypress soporta solo JavaScript y TypeScripts y selenium es mas amplio.
Ambos son gratuitos en ciertas partes.
Cypress nos da reportes completos pero selenium tienes que elaborarlos asà que lo hace mas rápido.
Cypress ya da soporte de Safari por medio de Webkit, aún está en fase experimental. Aquà pueden ver más información sobre los navegadores soportados:
https://docs.cypress.io/guides/guides/launching-browsers#WebKit-Experimental
Alguien se percato del mouse del profesor me da curiosidad el saber si es recomendable
no conozco ninguna otra diferencia, pero me pareció bastante interesante que comparara una herramienta con otra.
Dejare esto por aquà y me retiraré lentamente…
https://sorry-cypress.dev/
(Alternativa al dashboard pagado de Cypress)
Les comparto mis apuntes. 😀
Es una librerÃa, pensada para englobar o ser framework de pruebas automatizadas desde pruebas e2e, unit test e integration test. Ya trae todo lo necesario para que solamente nos preocupemos para realizar las pruebas.
Nos permite viajar en el tiempo, podemos ver nuestra prueba, ver como fue la ejecución de cada paso.
Facilita el trabajo a la hora de debuggear el proyecto.
Espera automáticamente por los elementos, no tenemos que estar preocupados por esperar los elementos en pantalla y que estén listos para la interacción.
Útiles para las pruebas unitarias para realizar mock en funciones, espiar en ellas, ver la ejecución de las mismas (caja blanca).
Dentro del time travel vamos a poder ver que peticiones a la red se fueron realizando (network request), que sucede a la hora de realizar la petición, el estado de la petición, etc.
Cypress ataca o lucha contra los flaky test, cuando la falla es aleatoria.
Estas son proporcionadas de forma automática.
Cypress está pensado para las pruebas, no es una herramienta de automatización en general como Puppeteer. Cypress está enfocado directamente en pruebas, no podemos hacer webscriping y otras cosas que no están relacionas con pruebas.
Todo el entorno de Cypress se ejecuta en el navegador, lo que provoca que no sea tan fácil ejecutar código como ser las librerÃas de Node.
No se puede manejar multitabs.
No podemos usar múltiples navegadores a la vez, por ejemplo, no podemos abrir Chrome y Opera al mismo tiempo.
Es una polÃtica de seguridad, no podemos visitar diferentes dominios a la vez en la misma prueba.
Todo depende el contexto del proyecto y del stack que estamos usando, basándose en eso usaremos uno u otro.
Hay una cosa que sale a relucir, es una gran desventaja para mi de cypress, es el tema de los dominios, al menos 2 proyectos en los que tengo en mente implementarlo necesitan cambiar de dominio, para pruebas puntuales dentro de la app es bueno, pero necesito más interacción con otras webapps, igual me lo piden y es muy útil tener el curso, espero aprender ambos, cypress y selenium para darle a cada uno sus aplicaciones correspondientes
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?