Sprint Nro. XX
Curso Introductorio de Cypress
Integrantes
Hugo Fernandez
Mariano Palavecino
Conceptos básicos para testing automatizado.
Sprint Nro. XX
Índice
¿QUÉ ES CYPRESS?
¿Qué es Cypress?
- Es una herramienta de testing automatizado que nos permite ahorrar tiempo para realizar las pruebas de regresión.
- Es un framework que nos permite simular la interacción de los usuarios con el navegador.
CARACTERÍSTICAS
Características
BUENAS PRÁCTICAS
ATRIBUTOS DE DATOS
EJEMPLO
ASIGNACIÓN DE VALORES DE ENTORNO
En cypress casi no se necesita utilizar const, let o var. Para ello se recomienda usar "Alias". Los alias son una construcción poderosa en Cypress que tiene muchos usos como por ejemplo, facilitar compartir objetos entre sus pruebas.
EJEMPLO
Cuando se usa this.users, se tiene acceso a él de forma síncrona, mientras que cuando lo usamos cy.get('@users') se convierte en un comando asíncrono.
CREANDO PRUEBAS "MINÚSCULAS" CON UNA SOLA AFIRMACIÓN
Si bien las pruebas unitarias técnicamente funcionan bien, es realmente excesivo, y no es eficaz. Por lo que se utilizan pruebas de integración.
EJEMPLO
ESPERA INNECESARIA
Utilizar alias o aserciones de ruta para evitar que Cypress continúe hasta que se cumpla una condición explícita.
Casi nunca es necesario utilizar cy.wait() durante un tiempo determinado. En estos casos probablemente hay una forma mucho mejor y más simple.
EJEMPLO
Elementos que hemos utilizado en ANDES
SHOULD
cy.get().should (condición, valor);
Es lo que se espera que tenga el DOM.
CONTAINS
cy.contains('Datos guardados correctamente');
Muy útil para utilizarlo cuando se quiere corroborar por ejemplo, que un paciente fue creado con exito.
ESTRUCTURACIÓN DE CARPETAS
La idea principal de la reestructuración de las carpetas fue para ordenar los test y que sigan la misma estructura de la Organización General de ANDES.
PREPARACIÓN DEL ENTORNO
CLONAR PROYECTO DE TEST
https://github.com/andes/andes-test-integracion
INSTALAR CYPRESS
npm install cypress
INICIAR CYPRESS
npx cypress open --env BASE_URL=http://localhost:4200,API_SERVER=http://localhost:3002
1
2
5
3
4
(Agregamos before dentro de context)
(Agregamos beforeEach dentro de context)
ENLACES IMPORTANTES
MÁS INFORMACIÓN SOBRE "CYPRESS"
https://github.com/andes/andes/wiki/Gu%C3%ADa-para-Cypress#preparaci%C3%B3n-del-entorno
https://www.cypress.io/
Sitio Oficial
ANDES (GitHub) By Victor
¡MUCHAS GRACIAS!