Skills Agentes

E2e Testing Patterns

Domina el testing end-to-end con Playwright y Cypress para construir suites fiables que detecten bugs y permitan despliegues rápidos.

Estrellas
39.8k

en todo el repo

Actividad
43

0–100, la ruta de este skill

Actualizado
hace 4 meses

último commit aquí

Commits
0

últimos 90 días

Contexto
1k tok

60 tok en reposo

Paquete
2 archivos

14 KB

Instalar

Funciona con cualquier agente que lea SKILL.md

npx -y skills add wshobson/agents --skill e2e-testing-patterns --agent claude-code

Se instala solo en este repositorio.

Qué hace

  • Aplica patrones de testing E2E con Playwright y Cypress para suites fiables y rápidas
  • Recomienda selectores estables (data-testid, roles) frente a selectores CSS frágiles
  • Ayuda a depurar tests inestables (flaky) usando esperas adecuadas y herramientas de trace
  • Aplica la pirámide de testing para decidir qué probar con E2E y qué no

Úsalo cuando

  • Implementando automatización de tests end-to-end
  • Depurando tests flaky o poco fiables
  • Probando flujos de usuario críticos como login o checkout
  • Estableciendo estándares de testing E2E o pipelines de CI/CD

No lo uses cuando

  • Para lógica a nivel de unidad (usar tests unitarios)
  • Para contratos de API (usar tests de integración)
  • Para casos extremos, porque son demasiado lentos con E2E

Qué lo activa

Di cualquiera de estas frases y el agente debería cargar este skill.

  • “Ayúdame a escribir tests E2E con Playwright para el flujo de checkout”
  • “Mis tests de Cypress son flaky, ¿cómo los arreglo?”
  • “Necesito establecer estándares de testing E2E para mi equipo”
  • “Cómo depuro un test que falla intermitentemente en CI”

SKILL.md

En inglés

E2E Testing Patterns

Build reliable, fast, and maintainable end-to-end test suites that provide confidence to ship code quickly and catch regressions before users do.

When to Use This Skill

  • Implementing end-to-end test automation
  • Debugging flaky or unreliable tests
  • Testing critical user workflows
  • Setting up CI/CD test pipelines
  • Testing across multiple browsers
  • Validating accessibility requirements
  • Testing responsive designs
  • Establishing E2E testing standards

Core Concepts

1. E2E Testing Fundamentals

What to Test with E2E:

  • Critical user journeys (login, checkout, signup)
  • Complex interactions (drag-and-drop, multi-step forms)
  • Cross-browser compatibility
  • Real API integration
  • Authentication flows

What NOT to Test with E2E:

  • Unit-level logic (use unit tests)
  • API contracts (use integration tests)
  • Edge cases (too slow)
  • Internal implementation details

2. Test Philosophy

The Testing Pyramid:

        /\
       /E2E\         ← Few, focused on critical paths
      /─────\
     /Integr\        ← More, test component interactions
    /────────\
   /Unit Tests\      ← Many, fast, isolated
  /────────────\

Best Practices:

  • Test user behavior, not implementation
  • Keep tests independent
  • Make tests deterministic
  • Optimize for speed
  • Use data-testid, not CSS selectors

Detailed patterns and worked examples

Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

Best Practices

  1. Use Data Attributes: data-testid or data-cy for stable selectors
  2. Avoid Brittle Selectors: Don't rely on CSS classes or DOM structure
  3. Test User Behavior: Click, type, see - not implementation details
  4. Keep Tests Independent: Each test should run in isolation
  5. Clean Up Test Data: Create and destroy test data in each test
  6. Use Page Objects: Encapsulate page logic
  7. Meaningful Assertions: Check actual user-visible behavior
  8. Optimize for Speed: Mock when possible, parallel execution
// ❌ Bad selectors
cy.get(".btn.btn-primary.submit-button").click();
cy.get("div > form > div:nth-child(2) > input").type("text");

// ✅ Good selectors
cy.getByRole("button", { name: "Submit" }).click();
cy.getByLabel("Email address").type("user@example.com");
cy.get('[data-testid="email-input"]').type("user@example.com");

Common Pitfalls

  • Flaky Tests: Use proper waits, not fixed timeouts
  • Slow Tests: Mock external APIs, use parallel execution
  • Over-Testing: Don't test every edge case with E2E
  • Coupled Tests: Tests should not depend on each other
  • Poor Selectors: Avoid CSS classes and nth-child
  • No Cleanup: Clean up test data after each test
  • Testing Implementation: Test user behavior, not internals

Debugging Failing Tests

// Playwright debugging
// 1. Run in headed mode
npx playwright test --headed

// 2. Run in debug mode
npx playwright test --debug

// 3. Use trace viewer
await page.screenshot({ path: 'screenshot.png' });
await page.video()?.saveAs('video.webm');

// 4. Add test.step for better reporting
test('checkout flow', async ({ page }) => {
    await test.step('Add item to cart', async () => {
        await page.goto('/products');
        await page.getByRole('button', { name: 'Add to Cart' }).click();
    });

    await test.step('Proceed to checkout', async () => {
        await page.goto('/cart');
        await page.getByRole('button', { name: 'Checkout' }).click();
    });
});

// 5. Inspect page state
await page.pause();  // Pauses execution, opens inspector

Reproducido de wshobson/agents bajo licencia MIT. Leer esta página en markdown.

Archivos

2 archivos en el paquete. Solo se lee SKILL.md al activarse — las referencias se cargan si el skill decide que las necesita.

Antes de instalar

Necesita en el PATH:npx

Detalles

Creador
wshobson
Categoría
Testing y QA
Licencia
MIT
Recursos incluidos
referencias
Repositorio
wshobson/agents
Código fuente
Ver SKILL.md

Etiquetas

Más de wshobson/agents

Este repo incluye 183 skills. Si instalas uno, normalmente ya tienes los demás. Ver el pack agents entero y su comando de instalación

Instala y opera Hermes Tweet, un plugin de Hermes Agent para investigar X/Twitter, leer timelines, analizar tweets y ejecutar operaciones privadas o de cambio de estado con aprobación previa.

Costo de contexto al activarse
1.4k tok
Tamaño del paquete
3 archivos
Última actualización
el mes pasado
redes sociales

Úsalo para mantener un almacén Markdown de conocimiento donde cada afirmación compilada se rastrea hasta una fuente inmutable y el drift se detecta con git diff sin gastar tokens.

Costo de contexto al activarse
1.4k tok
Tamaño del paquete
2 archivos
Última actualización
hace 24 días
documentos

Úsalo al diseñar o revisar un esquema específico de PostgreSQL: buenas prácticas, tipos de datos, indexación, restricciones, patrones de rendimiento y funciones avanzadas.

Costo de contexto al activarse
2k tok
Tamaño del paquete
2 archivos
Última actualización
hace 24 días
bases de datos

Úsalo cuando un proyecto guarda su estado en Superself: lee `self context` al iniciar sesión, vincula el trabajo a una work unit, reporta con evidencia y registra decisiones confirmadas.

Costo de contexto al activarse
1.3k tok
Tamaño del paquete
1 archivo
Última actualización
hace 24 días
productividad

Úsalo cuando pidan optimizar un prompt, mejorar su rendimiento, diseñar una plantilla, aplicar chain-of-thought, few-shot prompting o técnicas avanzadas de prompt engineering para producción.

Costo de contexto al activarse
1.3k tok
Tamaño del paquete
10 archivos
Última actualización
el mes pasado
herramientas desarrollo

Audita y reescribe prosa para que deje de sonar generada por máquina. Incluye modo solo-detección, modo reescritura y modo edición en el lugar, con perfiles opcionales de voz y contexto.”

Costo de contexto al activarse
1.9k tok
Tamaño del paquete
4 archivos
Última actualización
el mes pasado
redaccion contenido

Skills relacionados

Úsalo tras generar código con IA, aceptar sugerencias o revisar módulos escritos por IA, o cuando el código funcione pero parezca frágil o con deuda oculta.

Costo de contexto al activarse
850 tok
Tamaño del paquete
1 archivo
Última actualización
hace 2 meses
testing qa

Domina Bats (Bash Automated Testing System) para probar exhaustivamente scripts de shell, útil en TDD y pipelines CI/CD.

Costo de contexto al activarse
1.3k tok
Tamaño del paquete
2 archivos
Última actualización
hace 4 meses
testing qa

Filtra checkpoints fine-tuneados con presupuestos de drift, comparación pareada y chequeos de olvido antes de promoverlos, tras un entrenamiento o al re-gatear un modelo ya promovido.

Costo de contexto al activarse
2k tok
Tamaño del paquete
2 archivos
Última actualización
hace 2 meses
testing qa