# Ya instalado, pero por si acaso:
npm install
npx playwright install chromiumnpm run test:e2e:ui¿Por qué? Interfaz visual, ejecución paso a paso, debugging fácil.
npm run test:e2enpm run test:e2e:headednpm run test:e2e:debug# Solo smoke tests (verificación rápida)
npx playwright test smoke.spec.js
# Solo tests básicos
npx playwright test basic-functionality.spec.js
# Solo crop screenshots
npm run test:e2e:crop
# o
npx playwright test crop-screenshot.spec.js
# Solo exportaciones
npx playwright test reports-export.spec.jsnpm run test:e2e:reporttest/e2e/
├── helpers/
│ └── extension-helper.js # Utilidades reutilizables
├── test-pages/ # Páginas HTML para testing
│ ├── index.html # Página principal
│ ├── page1.html # Página de prueba 1
│ ├── page2.html # Página de prueba 2
│ └── screenshot-test.html # Página para tests de screenshots
├── smoke.spec.js # Tests rápidos de verificación
├── basic-functionality.spec.js # Tests de funcionalidad básica
├── screenshots.spec.js # Tests de capturas de pantalla
└── reports-export.spec.js # Tests de exportación e informes
- Modo Headless NO funciona: Las extensiones de Chrome requieren modo headful (con ventana visible)
- Tests Secuenciales: Los tests se ejecutan uno tras otro (no en paralelo)
- Servidor Automático: El servidor HTTP se inicia automáticamente en puerto 8000
- Limpieza: Cada test limpia el storage antes de ejecutarse
- Verifica que
manifest.jsones válido - Asegúrate de estar en el directorio correcto
- Cierra cualquier servidor en puerto 8000
- O cambia el puerto en
playwright.config.js
- Es normal, las extensiones son más lentas que páginas normales
- Las capturas de pantalla toman tiempo
- Instala Python desde python.org
- O modifica
start_test_server.ps1para usar Node.js
- Carga del popup
- Contadores de anotaciones
- Añadir Bug, Note, Idea, Question
- Captura de URL de página activa
- Persistencia de datos
- Captura para cada tipo de anotación
- Formato base64 correcto
- Diferentes páginas
- Múltiples capturas
- Export CSV
- Export JSON
- Generación de HTML report
- Import JSON
- Clear session
-
Desarrollo de nueva feature:
npm run test:e2e:ui
Ejecuta solo el test que estás desarrollando
-
Antes de commit:
npm run test:e2e
Ejecuta todos los tests
-
Debugging:
npm run test:e2e:debug
Pausa ejecución y debugging paso a paso
-
CI/CD: Los tests se pueden ejecutar en CI con configuración adicional
- UI Mode es tu amigo: Usa
npm run test:e2e:uipara desarrollo - Tests pequeños: Cada test debe probar UNA cosa
- Selectores estables: Usa IDs en lugar de clases CSS
- Esperas adecuadas: Usa
waitForStorageUpdate()después de operaciones async - Limpia el estado:
clearExtensionStorage()antes de cada test
Ver test/e2e/README.md para documentación completa.
Al añadir nuevas features:
- Añade tests e2e correspondientes
- Usa los helpers existentes
- Sigue el patrón de tests actuales
- Actualiza esta documentación si es necesario