Cypress: data-driven testing, fixtures y dos formas de cargar datos Data-driven en login con forEach. import JSON para tests dinámicos, cy.fixture() para datos en runtime. Refactoring de login.cy.ts y commands.ts.
Cypress: Page Object Model, 3 pages y 2 errores reales contra Serenity.is LoginPage, DashboardPage, ClientesPage en TypeScript. Refactoring de 14 a 18 tests. uncaught:exception y empty fields que Cypress no logra limpiar.
Cypress: configuración profesional, custom commands y estructura por módulos cypress.config.ts a fondo, cy.login() como custom command, fixtures, specs por módulo. Error real: Electron muestra el dashboard en otro idioma.
Cypress: assertions, hooks y organización de tests should(), expect(), beforeEach(), context(). Validaciones post-login en Serenity.is. Tres errores reales: selector fantasma, input deshabilitado y viewport.
Cypress: selectores, comandos y login completo contra Serenity.is cy.get(), cy.contains(), cy.find(), cy.within(). Login completo contra Serenity.is. Dos errores reales: URL assertion y cy.find() como child command.
Qué es Cypress, setup en TypeScript y primer test Setup de Cypress 15 con TypeScript contra Serenity.is. Electron crasheó, Chrome se colgó, TypeScript rompió. Edge salvó el día. Proceso real.
CI/CD con GitHub Actions: 37 tests de Appium corriendo en un emulador Android 8 intentos, errores reales, KVM, pantalla de 320px. Pipeline completo con emulador Android, Allure Report en GitHub Pages. 89% en CI.
Allure Reports en Appium: reportes visuales con @Step y screenshots automáticos @Step en 13 pages, screenshot automático en fallo, 3 errores reales durante la integración. De 36 a 37 tests con reporte profesional.
DataProvider en Appium: parametrización de tests con múltiples datos @DataProvider en Appium: 3 tests parametrizados, 5 errores reales, hallazgos de la app. De 30 a 36 tests.