Playwright: ejecución paralela — workers, tiempos y bottleneck 6 corridas con distintos workers y parallel mode. El default de 2 workers fue el óptimo. Más no siempre es más rápido. Datos reales, no teoría.
Playwright: reorganización del framework — de archivos didácticos a estructura de producción 9 specs didácticos separados en learning/, 2 tests de producción en e2e/ con fixtures y POM. Refactor real: qué cambió, qué se rompió, resultado.
Testing de grilla en Playwright: ordenamiento, filtros Select2 y búsqueda en SlickGrid 6 tests para ordenar, filtrar con Select2 y buscar en SlickGrid. pressSequentially vs fill, codegen para debuggear Select2, cross-browser timing.
Validar 91 clientes contra Excel en Playwright: el bug que Selenium no había encontrado exceljs, page.evaluate para grillas virtualizadas con SlickGrid, soft assertions para validar 910 comparaciones en un solo test.
Data-driven testing en Playwright: un test, N casos, sin DataProvider Login positivo, click directo, 3 negativos parametrizados con array y for...of. Regex en el banner y fail intencional probando aislamiento.
Autenticación con storageState en Playwright: login una vez, tests sin login Login una vez, guardar cookies en JSON, tests sin login. Un typo de 30s, la prueba sin archivo, y lo que en Selenium es código custom acá son 2 líneas.
playwright.config.ts: cada propiedad explicada, 3 experimentos y lo que Selenium no centraliza Cada propiedad del config explicada. 3 experimentos: timeout 5s (0/12), 15s (11/12), retries. Lo que en Selenium distribuí entre 5 archivos.
Fixtures en Playwright: qué es { page }, beforeEach, custom fixtures y 2 errores reales Qué es { page }, cómo reemplaza @BeforeMethod de TestNG, custom fixtures reutilizables entre archivos. 2 errores reales: doble login y emojis.
Assertions en Playwright: auto-retry, soft assertions y lo que en Selenium armé a mano 4 tests, 5 errores reales. Auto-retry, soft assertions, .not, y por qué en Selenium necesitaba esperas explícitas que acá no existen.