Cypress: file upload, drag and drop y editor de texto enriquecido cy.selectFile() con input oculto, tres intentos fallidos de drag and drop, y editor Tiptap con contenteditable. Errores reales y soluciones.
Cypress: cy.session() — login una vez, tests sin login cy.session() cachea autenticación. De 2:49 a 2:10. Tres errores reales: about:blank, idioma en inglés, textos hardcodeados. Proceso completo.
Cypress: cy.intercept — stubbing, mocking y simulación de errores de red Respuestas fake con fixtures, modificación en tránsito, error 500, corte de red y validación de requests. cy.on vs Cypress.on para excepciones.
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.