e2e-testing

Implements Playwright E2E test suites with Page Object Model, CI integration, and flaky test handling.

Updated Jan 28, 2026
One-click install
npx skills add https://github.com/ttphats/project-detedxs26 --skill e2e-testing-ttphats
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: e2e-testing
Source: https://github.com/ttphats/project-detedxs26/tree/main/.augment/skills/ecc/e2e-testing
Command: npx skills add https://github.com/ttphats/project-detedxs26 --skill e2e-testing-ttphats

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @playwright/test.

What problem does it solve? End-to-end tests often become slow, flaky, and hard to maintain as applications grow. This Skill provides proven Playwright patterns for structuring test files, managing artifacts, and stabilizing unreliable tests so teams can trust their test suites in CI pipelines. ## Core Features & Use Cases - Page Object Model Patterns: Encapsulate page locators and actions in reusable classes to keep tests readable and maintainable. - Flaky Test Management: Quarantine unstable tests with test.fixme/test.skip, identify flakiness via repeat runs, and fix race conditions with proper auto-waiting locators. - CI/CD Integration: GitHub Actions workflow with multi-browser projects, retries, and artifact uploads for reports, screenshots, videos, and traces. - Use Case: A team shipping a Next.js app needs regression coverage before each deploy. Use this Skill to scaffold a Playwright suite with POM structure, configure retries and reporters, and wire it into GitHub Actions with HTML report artifacts. ## Quick Start Write a Playwright E2E test suite for my login and checkout flows using the Page Object Model pattern and add a GitHub Actions workflow to run it on every pull request.

Frequently Asked Questions about e2e-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure Playwright tests with Page Object Model?▼

Create a class per page that exposes locators as readonly properties and actions as async methods, then instantiate it in test.beforeEach. This keeps selectors centralized so UI changes require updates in only one place.

How to fix flaky Playwright tests in CI?▼

Replace arbitrary waitForTimeout calls with auto-waiting locators and waitForResponse assertions on specific API calls. Identify flaky tests by running with --repeat-each=10, then quarantine them with test.fixme while fixing the underlying race condition.

How do I run Playwright tests in GitHub Actions?▼

Use a workflow that checks out the repo, installs dependencies with npm ci, runs npx playwright install --with-deps, then executes npx playwright test. Upload the playwright-report folder as an artifact with actions/upload-artifact so results persist after the run.

Does Playwright support testing across multiple browsers?▼

Yes, Playwright projects in the config file run the same tests against chromium, firefox, webkit, and mobile device profiles like Pixel 5. Each project can have its own device settings and viewport configuration.

Why do Playwright tests fail with timeout errors?▼

Timeouts usually occur when clicking elements during animations or before network requests complete. Fix this by waiting for element visibility, waiting for load state networkidle, or asserting on specific API responses before interacting.

How do I capture screenshots and videos on Playwright test failure?▼

Set screenshot to 'only-on-failure', video to 'retain-on-failure', and trace to 'on-first-retry' in the use block of playwright.config.ts. Artifacts are saved automatically and can be uploaded as CI artifacts for debugging.