End-to-End Testing Framework Generator

Generate e2e test suites using Playwright, Cypress, or Selenium with page objects, accessibility checks, visual regression, and cross-browser testing

Best use case

End-to-End Testing Framework Generator is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Generate e2e test suites using Playwright, Cypress, or Selenium with page objects, accessibility checks, visual regression, and cross-browser testing

Teams using End-to-End Testing Framework Generator should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/e2e-testing-generator/SKILL.md --create-dirs "https://raw.githubusercontent.com/williamzujkowski/cognitive-toolworks/main/skills/e2e-testing-generator/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/e2e-testing-generator/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How End-to-End Testing Framework Generator Compares

Feature / AgentEnd-to-End Testing Framework GeneratorStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Generate e2e test suites using Playwright, Cypress, or Selenium with page objects, accessibility checks, visual regression, and cross-browser testing

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

## Purpose & When-To-Use

**Trigger conditions:**

* You need a complete e2e test suite for a web application or SPA
* You want page object pattern implementation for maintainability
* You require accessibility validation (WCAG A/AA/AAA) in automated tests
* You need cross-browser testing configuration (Chrome, Firefox, Safari, Edge)
* You're setting up visual regression testing for UI components
* You want parallel test execution in CI/CD pipelines

**Scope:** Generates production-ready test suites with framework-specific best practices, reusable page models, accessibility checks, and CI integration. Supports Playwright (recommended), Cypress, and Selenium WebDriver.

**Not for:** Unit tests, API tests (use dedicated skills), performance testing, or load testing.

## Pre-Checks

**Required before execution:**

1. **Time normalization:** Compute `NOW_ET` using NIST/time.gov semantics (America/New_York, ISO-8601)
2. **Input validation:**
   - `framework` must be one of: playwright, cypress, selenium
   - `application_type` must be one of: web, spa, mobile-web
   - `test_scope` must be one of: smoke, critical-path, full-regression
   - `features` array must not be empty (if provided)
   - `accessibility_level` valid for WCAG standards
3. **Source freshness checks:**
   - Playwright docs version ≥1.40 (accessed `NOW_ET`)
   - Cypress docs version ≥13.x (accessed `NOW_ET`)
   - Selenium WebDriver version ≥4.x (accessed `NOW_ET`)
   - axe-core version ≥4.8 (accessed `NOW_ET`)
4. **Framework availability:** Verify target framework installation instructions are current

**Abort if:** Framework choice conflicts with application_type (e.g., Selenium for component testing), or accessibility_level requirements exceed framework capabilities.

## Procedure

### Tier 1: Basic E2E Test Suite (≤2k tokens)

**Fast path for 80% of common cases:**

1. **Framework selection:**
   - **Playwright:** Default for modern web/SPA with built-in cross-browser support
   - **Cypress:** For component testing and developer-friendly debugging
   - **Selenium:** For legacy browser support or existing infrastructure

2. **Generate base configuration:**
   - Framework config file (playwright.config.ts, cypress.config.js, or wdio.conf.js)
   - Base URL, timeouts, retry logic
   - Browser launch options

3. **Create page object foundation:**
   - Base Page class with common methods (click, type, waitFor, navigate)
   - Locator strategies (data-testid preferred, CSS fallback)
   - Example page object for login/authentication

4. **Generate smoke test:**
   - Single critical path test (e.g., login → dashboard → logout)
   - Uses page objects
   - Basic assertions (visible, text content, navigation)

**Output:** Working test suite with 1-3 smoke tests, reusable page object pattern, runnable locally.

### Tier 2: Advanced Patterns (≤6k tokens)

**Extended validation with accessibility and visual regression:**

1. **Expand page object library:**
   - Create page objects for all major application sections
   - Add custom commands/helpers (e.g., `loginAsAdmin()`, `createEntity()`)
   - Implement waiting strategies (network idle, specific elements)

2. **Accessibility integration:**
   - Install and configure axe-core or @axe-core/playwright
   - Add accessibility checks to critical user flows
   - Configure WCAG level (A, AA, AAA) and violation reporting
   - Example: `await expect(page).toPassA11yChecks({ wcagLevel: 'AA' })`

3. **Visual regression setup:**
   - Configure screenshot comparison (Percy, Playwright screenshots, Cypress snapshots)
   - Define baseline images for key UI states
   - Set pixel diff thresholds and ignore regions

4. **Cross-browser testing:**
   - Configure browser matrix (Chromium, Firefox, WebKit/Safari)
   - Mobile viewport emulation for responsive testing
   - Device-specific test scenarios

5. **Test data management:**
   - Fixture files or API-based test data setup
   - Cleanup strategies (database resets, API teardown)
   - Isolated test execution (no shared state)

**Output:** Comprehensive test suite with 10-20 tests covering critical paths, accessibility validation, visual regression, and multi-browser support.

### Tier 3: CI Integration & Parallel Execution (≤12k tokens)

**Deep dive for production deployment:**

1. **CI/CD pipeline configuration:**
   - GitHub Actions, GitLab CI, CircleCI, or Jenkins pipeline
   - Docker container setup for consistent test environments
   - Artifact storage (screenshots, videos, traces)
   - Test result reporting (JUnit XML, HTML reports)

2. **Parallelization strategy:**
   - Playwright: Shard tests across workers (`--shard=1/4`)
   - Cypress: Parallel execution with Cypress Dashboard or split by spec
   - Selenium: Grid configuration for distributed execution

3. **Flaky test mitigation:**
   - Retry logic configuration (max 2-3 retries)
   - Wait strategy refinement (avoid hard sleeps)
   - Network stubbing/mocking for deterministic tests
   - Screenshot/video on failure for debugging

4. **Advanced accessibility testing:**
   - Full page scans + component-level checks
   - Custom axe rules for organization-specific requirements
   - Accessibility regression tracking (fail on new violations)

5. **Monitoring and alerting:**
   - Test duration trending
   - Failure rate dashboards
   - Slack/email notifications for critical test failures

**Output:** Production-ready test suite with CI integration, parallel execution, comprehensive reporting, and flaky test handling. Ready for continuous deployment pipelines.

## Decision Rules

**Framework selection matrix:**

| Requirement | Playwright | Cypress | Selenium |
|------------|-----------|---------|----------|
| Modern web/SPA | ✓ Best | ✓ Good | ○ OK |
| Component testing | ○ Limited | ✓ Best | ✗ No |
| Cross-browser (built-in) | ✓ Yes | ○ Chromium-only free | ✓ Yes |
| Mobile emulation | ✓ Excellent | ✓ Good | ○ Limited |
| Network interception | ✓ Built-in | ✓ Built-in | ✗ Requires proxy |
| Debugging DX | ✓ Excellent | ✓ Excellent | ○ Basic |
| Legacy browser support | ○ Limited | ✗ No | ✓ Yes |

**Test scope thresholds:**

* **Smoke:** 3-5 tests covering authentication and primary user flow (T1 sufficient)
* **Critical-path:** 10-20 tests covering all major features and user journeys (T2 required)
* **Full-regression:** 50+ tests with edge cases, error states, and accessibility (T3 required)

**Accessibility validation thresholds:**

* **WCAG A:** Basic compliance (keyboard nav, alt text) - 15 rules
* **WCAG AA:** Standard compliance (color contrast, labels) - 38 rules
* **WCAG AAA:** Enhanced compliance (extended contrast, minimal flashing) - 61 rules

**Abort conditions:**

* Framework does not support required features (e.g., Cypress for multi-tab flows)
* Application requires authentication flows that cannot be automated safely
* Visual regression baseline images cannot be generated (missing UI states)

## Output Contract

**Required fields:**

```typescript
{
  test_suite: {
    files: string[],              // Array of generated test file paths
    framework_config: object,     // Framework-specific config object
    test_count: number,           // Total number of test scenarios
    coverage_areas: string[]      // List of tested features
  },
  page_objects: {
    models: Array<{               // Page object classes
      name: string,
      path: string,
      methods: string[]
    }>,
    helpers: Array<{              // Utility functions
      name: string,
      description: string
    }>
  },
  ci_config: {
    pipeline_file: string,        // Path to CI config (e.g., .github/workflows/e2e.yml)
    parallelization_strategy: string,  // "sharding" | "splitting" | "grid"
    browser_matrix: string[],     // ["chromium", "firefox", "webkit"]
    estimated_duration_minutes: number
  },
  a11y_checks: {
    rules: Array<{                // axe-core rules configuration
      id: string,
      impact: "critical" | "serious" | "moderate" | "minor"
    }>,
    compliance_level: "wcag-a" | "wcag-aa" | "wcag-aaa",
    reporter: string,             // HTML, JSON, or custom
    violation_handling: "fail" | "warn" | "log"
  }
}
```

**Optional fields:**

* `visual_regression`: Screenshot comparison configuration
* `test_data`: Fixture file paths and seeding strategies
* `environment_config`: Environment-specific variables (staging, production)

## Examples

**Example 1: Playwright Admin Dashboard Test (≤30 lines)**

```typescript
import { test, expect } from '@playwright/test';
import { LoginPage } from '../pages/login-page';
import { DashboardPage } from '../pages/dashboard-page';
import { injectAxe, checkA11y } from 'axe-playwright';
test.describe('Admin Dashboard E2E', () => {
  test('authenticated user can view and create entities with WCAG AA compliance', async ({ page }) => {
    const loginPage = new LoginPage(page);
    await loginPage.navigate();
    await loginPage.login('admin@example.com', process.env.ADMIN_PASSWORD);
    const dashboard = new DashboardPage(page);
    await expect(dashboard.welcomeMessage).toContainText('Welcome, Admin');
    await injectAxe(page);
    await checkA11y(page, null, { detailedReport: true, wcagLevel: 'AA' });
    await dashboard.clickCreateButton();
    await dashboard.fillEntityForm({ name: 'Test Entity', type: 'Standard' });
    await dashboard.submitForm();
    await expect(dashboard.successToast).toBeVisible();
    await expect(dashboard.entityList).toContainText('Test Entity');
    await expect(page).toHaveScreenshot('dashboard-with-entity.png');
  });
});
```

See `/skills/e2e-testing-generator/examples/` for additional patterns and page object implementations.

## Quality Gates

**Token budgets (enforced):**

* **T1:** ≤2k tokens — Basic test suite with page objects (smoke tests)
* **T2:** ≤6k tokens — Accessibility, visual regression, cross-browser (critical-path)
* **T3:** ≤12k tokens — CI integration, parallelization, monitoring (full-regression)

**Safety checks:**

* No hardcoded credentials in test files (use environment variables)
* No secrets in version control (use .env files with .gitignore)
* Page objects must not expose internal DOM structure to tests
* Accessibility violations must be surfaced in test reports

**Auditability requirements:**

* All generated tests must have descriptive names
* Test failures must include screenshots and/or videos
* CI pipeline must store artifacts for 30+ days
* Test execution traces must be available for debugging

**Determinism checks:**

* No `cy.wait(5000)` or `page.waitForTimeout(5000)` without justification
* Prefer explicit waits (element visibility, network idle) over arbitrary timeouts
* Flaky test retry limit: max 3 attempts before failing the build
* Visual regression thresholds: ≤0.1% pixel difference for exact matches

**Performance criteria:**

* Smoke suite must complete in ≤5 minutes
* Critical-path suite must complete in ≤20 minutes
* Full regression suite must complete in ≤60 minutes with parallelization

## Resources

**Official Documentation:**

* [Playwright API Reference](https://playwright.dev/docs/api/class-playwright) (accessed 2025-10-26T02:31:27-0400)
* [Cypress API Commands](https://docs.cypress.io/api/table-of-contents) (accessed 2025-10-26T02:31:27-0400)
* [Selenium WebDriver W3C Standard](https://www.w3.org/TR/webdriver2/) (accessed 2025-10-26T02:31:27-0400)
* [axe-core Rules and Impact Levels](https://github.com/dequelabs/axe-core/blob/develop/doc/API.md) (accessed 2025-10-26T02:31:27-0400)

**Best Practices and Patterns:**

* [Page Object Model Pattern (Martin Fowler)](https://martinfowler.com/bliki/PageObject.html) (accessed 2025-10-26T02:31:27-0400)
* [Playwright Best Practices - Locators](https://playwright.dev/docs/best-practices) (accessed 2025-10-26T02:31:27-0400)
* [Cypress Network Stubbing Guide](https://docs.cypress.io/guides/guides/network-requests) (accessed 2025-10-26T02:31:27-0400)
* [WCAG 2.1 Quick Reference](https://www.w3.org/WAI/WCAG21/quickref/) (accessed 2025-10-26T02:31:27-0400)

**CI/CD Integration Examples:**

* [Playwright GitHub Actions Setup](https://playwright.dev/docs/ci-intro) (accessed 2025-10-26T02:31:27-0400)
* [Cypress Parallelization Guide](https://docs.cypress.io/guides/guides/parallelization) (accessed 2025-10-26T02:31:27-0400)
* [Selenium Grid 4 Configuration](https://www.selenium.dev/documentation/grid/) (accessed 2025-10-26T02:31:27-0400)

**Visual Regression Tools:**

* [Percy Visual Testing](https://docs.percy.io/) (accessed 2025-10-26T02:31:27-0400)
* [Playwright Screenshots and Visual Comparisons](https://playwright.dev/docs/screenshots) (accessed 2025-10-26T02:31:27-0400)

Related Skills

Unit Testing Framework Generator

5
from williamzujkowski/cognitive-toolworks

Generate unit test scaffolding and test suites for Jest, PyTest, Go testing, JUnit, RSpec with mocking, assertions, and coverage configuration

Testing Strategy Composer

5
from williamzujkowski/cognitive-toolworks

Compose comprehensive testing strategies spanning unit, integration, e2e, and performance tests with optimal coverage.

Load Testing Scenario Designer

5
from williamzujkowski/cognitive-toolworks

Design load testing scenarios using k6, JMeter, Gatling, or Locust with ramp-up patterns, think time modeling, and performance SLI validation.

Integration Testing Designer

5
from williamzujkowski/cognitive-toolworks

Design integration test scenarios with database fixtures, external service mocks, contract testing, and test environment setup for microservices and APIs.

Mobile CI/CD Pipeline Generator

5
from williamzujkowski/cognitive-toolworks

Generate mobile CI/CD pipelines for iOS (Fastlane, TestFlight) and Android (Gradle, Play Store) with code signing, beta distribution, and crash reporting

Kubernetes Manifest Generator

5
from williamzujkowski/cognitive-toolworks

Generate and validate Kubernetes YAML manifests with best practices for Deployments, Services, ConfigMaps, and security policies.

Frontend Framework Advisor

5
from williamzujkowski/cognitive-toolworks

Guide React, Vue, and mobile (iOS/Android/React Native) development with component architecture, state management, and performance optimization patterns.

Content & Documentation Generator

5
from williamzujkowski/cognitive-toolworks

Generate technical documentation, API docs, and content with accessibility and SEO optimization.

Infrastructure as Code Template Generator

5
from williamzujkowski/cognitive-toolworks

Generate IaC templates for Terraform, CloudFormation, and Pulumi with modules for compute, storage, networking, and multi-environment support.

CI/CD Pipeline Generator

5
from williamzujkowski/cognitive-toolworks

Generate platform-specific CI/CD pipeline configurations for GitHub Actions, GitLab CI, Jenkins, and Azure DevOps with build, test, and deploy stages.

Database Migration Script Generator

5
from williamzujkowski/cognitive-toolworks

Generate database migration scripts for Liquibase, Flyway, Alembic with rollback safety, data preservation, and zero-downtime patterns

Architecture Decision Framework

5
from williamzujkowski/cognitive-toolworks

Guide architecture decisions using ADRs, trade-off analysis, pattern catalogs, and C4 diagrams for layered, hexagonal, event-driven, and CQRS patterns.