Cypress: validación de grilla contra Excel — cy.task, SlickGrid API y cy.intercept 91 clientes × 10 columnas contra Excel. cy.task() para leer archivos desde Node, dos estrategias sin scroll. Errores reales y patrón sin expect.soft().
Cypress: interacciones con la grilla — ordenamiento, filtros Select2 y búsqueda Ordenamiento por columnas, filtros con dropdowns Select2, búsqueda con debounce. 3 errores reales: doble espacio, selector fantasma y cy.type().
Cypress: módulo Clientes, navegación y grilla SlickGrid Primer módulo fuera de Login. Navegación desde el dashboard, grilla SlickGrid, 2 errores con headers y el descubrimiento del virtual scrolling.
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.