playwright-best-practices

Use when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling authentication or OAuth, testing accessibility (axe-core), file uploads/downloads, date/time mocking, WebSockets, geolocation,

By currents-dev · 81,645 installs

npx skills add currents-dev/playwright-best-practices-skill --skill playwright-best-practices

Source repository · Upstream listing

Playwright Best Practices This skill provides comprehensive guidance for all aspects of Playwright test development, from writing new tests to debugging and maintaining existing test suites. Activity Based Reference Guide Consult these references based on what you're doing: Writing New Tests When to use : Creating new test files, writing test cases, implementing test scenarios Activity Reference Files Writing E2E tests [test suite structure.md](core/test suite structure.md), [locators.md](core/locators.md), [assertions waiting.md](core/assertions waiting.md) Writing component tests [component testing.md](testing patterns/component testing.md), [test suite structure.md](core/test suite structure.md) Writing API tests [api testing.md](testing patterns/api testing.md), [test suite structure.md](core/test suite structure.md) Writing GraphQL tests [graphql testing.md](testing patterns/graphql testing.md), [api testing.md](testing patterns/api testing.md) Writing visual regression tests [visual regression.md](testing patterns/visual regression.md), [canvas webgl.md](testing patterns/canvas webgl.md) Structuring test code with POM [page object model.md](core/page object model.md), [test suite structure.md](core/test suite structure.md) Setting up test data/fixtures [fixtures hooks.md](core/fixtures hooks.md), [test data.md](core/test data.md) Handling authentication [authentication.md](advanced/authentication.md), [authentication flows.md](advanced/authentication flows.md) Testing date/time features [clock mocking.md](advanced/clock mocking.md) Testing file upload/download [file operations.md](testing patterns/file operations.md), [file upload download.md](testing patterns/file upload download.md) Testing forms/validation [forms validation.md](testing patterns/forms validation.md) Testing drag and drop [drag drop.md](testing patterns/drag drop.md) Testing accessibility [accessibility.md](testing patterns/accessibility.md) Testing security (XSS, CSRF) [security testing.md](testing patterns/security testing.md) Using test annotations [annotations.md](core/annotations.md) Using test tags [test tags.md](core/test tags.md) Testing iframes [iframes.md](browser apis/iframes.md) Testing canvas/WebGL [canvas webgl.md](testing patterns/canvas webgl.md) Internationalization (i18n) [i18n.md](testing patterns/i18n.md) Testing Electron apps [electron.md](testing patterns/electron.md) Testing browser extensions [browser extensions.md](testing patterns/browser extensions.md) Mobile & Responsive Testing When to use : Testing mobile devices, touch interactions, responsive layouts Activity Reference Files Device emulation [mobile testing.md](advanced/mobile testing.md) Touch gestures (swipe, tap) [mobile testing.md](advanced/mobile testing.md) Viewport/breakpoint testing [mobile testing.md](advanced/mobile testing.md) Mobile specific UI [mobile testing.md](advanced/mobile testing.md), [locators.md](core/locators.md) Real Time & Browser APIs When to use : Testing WebSockets, geolocation, permissions, multi tab flows Activity Reference Files WebSocket/real time testing [websockets.md](browser apis/websockets.md) Geolocation mocking [browser apis.md](browser apis/browser apis.md) Permission handling [browser apis.md](browser apis/browser apis.md) Clipboard testing [browser apis.md](browser apis/browser apis.md) Camera/microphone mocking [browser apis.md](browser apis/browser apis.md) Multi tab/popup flows [multi context.md](advanced/multi context.md) OAuth popup handling [third party.md](advanced/third party.md), [multi context.md](advanced/multi context.md) Debugging & Troubleshooting When to use : Test failures, element not found, timeouts, unexpected behavior Activity Reference Files Debugging test failures [debugging.md](debugging/debugging.md), [assertions waiting.md](core/assertions waiting.md) Fixing flaky tests [flaky tests.md](debugging/flaky tests.md), [debugging.md](debugging/debugging.md), [assertions waiting.md](core/assertions waiting.md) Debugging flaky parallel runs [flaky tests.md](debugging/flaky tests.md), [performance.md](infrastructure ci cd/performance.md), [fixtures hooks.md](core/fixtures hooks.md) Ensuring test isolation / avoiding state leak [flaky tests.md](debugging/flaky tests.md), [fixtures hooks.md](core/fixtures hooks.md), [performance.md](infrastructure ci cd/performance.md) Fixing selector issues [locators.md](core/locators.md), [debugging.md](debugging/debugging.md) Investigating timeout issues [assertions waiting.md](core/assertions waiting.md), [debugging.md](debugging/debugging.md) Using trace viewer [debugging.md](debugging/debugging.md) Debugging race conditions [flaky tests.md](debugging/flaky tests.md), [debugging.md](debugging/debugging.md), [assertions waiting.md](core/assertions waiting.md) Debugging console/JS errors [console errors.md](debugging/console errors.md), [debugging.md](debugging/debugging.md) Error & Edge Case Testing When to use : Testing error states, offline mode, network failures, validation Activity Reference Files Error boundary testing [error testing.md](debugging/error testing.md) Network failure simulation [error testing.md](debugging/error testing.md), [network advanced.md](advanced/network advanced.md) Offline mode testing [error testing.md](debugging/error testing.md), [service workers.md](browser apis/service workers.md) Service worker testing [service workers.md](browser apis/service workers.md) Loading state testing [error testing.md](debugging/error testing.md) Form validation testing [error testing.md](debugging/error testing.md) Multi User & Collaboration Testing When to use : Testing features involving multiple users, roles, or real time collaboration Activity Reference Files Multiple users in one test [multi user.md](advanced/multi user.md) Real time collaboration [multi user.md](advanced/multi user.md), [websockets.md](browser apis/websockets.md) Role based access testing [multi user.md](advanced/multi user.md) Concurrent action testing [multi user.md](advanced/multi user.md) Architecture Decisions When to use : Choosing test patterns, deciding between approaches, planning test architecture Activity Reference Files POM vs fixtures decision [pom vs fixtures.md](architecture/pom vs fixtures.md) Test type selection [test architecture.md](architecture/test architecture.md) Mock vs real services [when to mock.md](architecture/when to mock.md) Test suite structure [test suite structure.md](core/test suite structure.md) Framework Specific Testing When to use : Testing React, Angular, Vue, or Next.js applications Activity Reference Files Testing React apps [react.md](frameworks/react.md) Testing Angular apps [angular.md](frameworks/angular.md) Testing Vue/Nuxt apps [vue.md](frameworks/vue.md) Testing Next.js apps [nextjs.md](frameworks/nextjs.md) Refactoring & Maintenance When to use : Improving existing tests, code review, reducing duplication Activity Reference Files Refactoring to Page Object Model [page object model.md](core/page object model.md), [test suite structure.md](core/test suite structure.md) Improving test organization [test suite structure.md](core/test suite structure.md), [page object model.md](core/page object model.md) Extracting common setup/teardown [fixtures hooks.md](core/fixtures hooks.md) Replacing brittle selectors [locators.md](core/locators.md)