excelente lo de fixtures
Introducción al curso
Cypress Avanzado: Pruebas Automatizadas con Docker y Jenkins
Configuración Inicial de Cypress Avanzado en Node.js
Cookies y Localstorage
Gestión de Cookies en Cypress: Métodos Tradicionales y Experimentales
Automatización de Pruebas con Local Storage y Cypress
Emulando dispositivos
Emulación de Dispositivos Móviles con Cypress
Instalando plugins
Uso de Plugins y XPath en Cypress para Automatización Web
Flaky tests
Evitar pruebas inestables con Cypress: uso de retries y buenas prácticas
Interceptación de solicitudes de red con Cypress
Simulación de Errores de Red con Cypress Intercept
Buenas prácticas
Implementación de Page Object Model en Cypress
Comandos Personalizados en Cypress: Alternativa al Page Object Model
Variables de Entorno: Uso y Configuración en Cypress
Configuración de Variables de Entorno en Cypress
Visual testing
Implementación de Visual Testing con Cypress y Plugins
Seguridad
Seguridad en Cypress: Navegación y Pruebas entre Dominios
Manipulación de pestañas en Cypress: eliminar atributo target
Visitar múltiples dominios y compartir datos en Cypress 10
Creación de plugins en Cypress para compartir datos entre tests
Data Driven Test
Uso de Fixtures en Pruebas Automatizadas con Cypress
BDD
Configuración de Cucumber y Cypress para pruebas BDD
Reutilización de Step Definitions en Gherkin y Cucumber
Pruebas Automatizadas con Gherkin: Escenarios Outline y Tags
Reportes
Configuración y uso de múltiples reportes con Cypress
Configuración de Allure con Cypress y uso de plugins
Docker
Uso de Docker y Cypress para Pruebas Automatizadas
Dashboard
Conexión y uso del Dashboard de Cypress para pruebas automatizadas
Alternativa gratuita al dashboard de Cypress: instalación y uso
CI/CD
Integración de Jenkins y Cypress para Pruebas en Paralelo
Final
Instalación y uso del plugin Cypress Escenario Recorder
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Trabajar con fixtures en pruebas automatizadas es una técnica poderosa que permite que nuestros tests sean dirigidos por data reutilizable y mantenible. En esta clase, aprenderás a implementar fixtures para almacenar información no sensible y a enfrentar diversas situaciones de testing. Los fixtures son perfectos para datos que no cambian según el ambiente, como credenciales falsas o configuraciones por defecto.
Los fixtures son archivos que almacenan información que no es sensible y que no va a cambiar dependiendo del entorno. A diferencia de las variables de entorno, que se utilizan para definir valores que pueden variar, los fixtures son soluciones más estáticas y reutilizables para datos consistentes.
Comencemos con el código base para un login erróneo utilizando fixtures en JSON. Este ejemplo te demostrará cómo implementar un test simple y práctico.
// Definición del test de login erróneo
describe('Login erróneo con fixtures', () => {
// Validar que estamos en la página de login
it('Validar página de login', () => {
cy.visit('/login');
cy.url().should('include', '/login');
});
// Leer archivos de fixtures
it('Login erróneo mediante fixture', () => {
cy.fixture('credentials').then(credentials => {
cy.get('#email').type(credentials.email);
cy.get('#password').type(credentials.password);
cy.get('#login-button').click();
cy.contains('Error de credenciales').should('be.visible');
});
});
});
Crear un archivo fixture en JSON es sumamente sencillo. Para nuestro ejemplo, creamos un archivo credentials.json
que pueda ser utilizado por Cypress.
{
"email": "[email protected]",
"password": "contraseñaerrónea"
}
Para probar múltiples credenciales o realizar tests dinámicos, podemos utilizar un arreglo de objetos que contenga los nombres de los fixtures y usarlos en un forEach
. Éste es un pequeño ejemplo de cómo se puede lograr:
const credentialsForUsers = [
{ nombre: "usuarios", titulo: "login con users" },
{ nombre: "credentials", titulo: "login con credentials" }
];
credentialsForUsers.forEach(({nombre, titulo}) => {
describe(titulo, () => {
it('Realizar login con fixture', () => {
cy.visit('/login');
cy.fixture(nombre).then(credentials => {
cy.get('#email').type(credentials.email);
cy.get('#password').type(credentials.password);
cy.get('#login-button').click();
cy.contains('Error de credenciales').should('be.visible');
});
});
});
});
Cuando trabajamos con múltiples credenciales, podemos optimizar nuestros tests:
Sigue estos consejos y aprovecha al máximo los fixtures para enriquecer tus pruebas automatizadas. No olvides practicar, experimentar y ajustar tus configuraciones a las necesidades de tu proyecto. La práctica constante te llevará a mejorar tus habilidades como tester. ¡El próximo tema es el Behavior Driven Development (BDD)!
Aportes 1
Preguntas 0
excelente lo de fixtures
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?