name: browser-testing-playwright description: >- A skill for setting up and running end-to-end browser tests using Playwright. It includes guidance on project setup, the Page Object Model, user flow testing, visual regression, cross-browser configuration, and CI integration. Use this when a user wants to implement browser-based E2E testing.
End-to-End Browser Testing with Playwright
This skill provides a structured workflow for creating a robust end-to-end testing suite using Playwright.
Core Workflow
- Setup and Configuration: Start by setting up the Playwright configuration. See
references/playwright_setup.mdfor a detailed guide and a commentedplaywright.config.ts. - Structure with Page Object Model (POM): Organize your test code by creating Page Object classes for each page or component. This pattern makes tests more readable and maintainable. For a detailed explanation and examples, read
references/page_object_model.md. - Write User Flow Tests: With POMs in place, write end-to-end tests that simulate user journeys. A complete example for a
signup -> login -> create taskflow is inreferences/user_flow_testing.md. - Implement Visual Regression Testing: Catch unintended visual changes by adding screenshot assertions. Guidance on this is available in
references/visual_regression.md. - Configure Cross-Browser Testing: Ensure your application works across different browsers by configuring projects in Playwright. See
references/cross_browser_testing.mdfor how to set up Chromium, Firefox, and WebKit. - Integrate with CI: Automate your tests to run on every code change. A sample GitHub Actions workflow and setup instructions are in
references/ci_integration.md. - Manage Test Data: Learn strategies for setting up and tearing down test data to ensure reliable and independent tests. See
references/test_data_management.md.
Bundled Resources
This skill includes reference files to guide you through each step. When you need to implement a part of the workflow, read the corresponding reference file.
references/playwright_setup.mdreferences/page_object_model.mdreferences/user_flow_testing.mdreferences/visual_regression.mdreferences/cross_browser_testing.mdreferences/ci_integration.mdreferences/test_data_management.md