Playwright
A comprehensive skill catalog for AI agents
npx -y skills add G1Joshi/Agent-Skills --skill playwrightAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 10 stars10 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Playwright end-to-end testing for web. Use for browser automation.
SKILL.md
1.9 KB, as published. Nobody here has run it
Playwright
Playwright is Microsoft's modern automation library. It enables reliable end-to-end testing for modern web apps across Chromium, WebKit, and Firefox.
When to Use
- Cross-Browser: Testing Chrome, Safari, and Firefox with one API.
- Speed: It is significantly faster than Cypress and Selenium due to parallel execution and fast context creation.
- Modern Features: Native support for Auto-waiting (no more
sleep(1000)), Network interception, and Mobile emulation.
Quick Start
import { test, expect } from "@playwright/test";
test.describe("Navigation", () => {
test("should navigate to login", async ({ page }) => {
await page.goto("https://example.com");
await page.getByRole("button", { name: "Log in" }).click();
await expect(page).toHaveURL(/.*login/);
});
});
Core Concepts
Auto-waiting
Playwright waits for elements to be actionable (visible, stable, not obscured) before performing actions.
Browser Contexts
Playwright creates a fresh "Context" (Incognito profile) for each test in milliseconds. This provides full isolation without the overhead of restarting the browser process.
Locators
page.getByRole('button') is strict. If it finds two buttons, it throws an error (forcing you to be specific), avoiding flakiness.
Best Practices (2025)
Do:
- Use Locators:
page.locator()orpage.getByRole()instead of$or$$. - Use
codegen: Runnpx playwright codegento record user interactions and generate test code automatically. - Use UI Mode:
npx playwright test --uifor a time-travel debugging experience.
Don't:
- Don't use Xpath/CSS selectors: They are brittle. Use user-facing locators (Role, Text).
- Don't use extensive waits: Trust the auto-waiting mechanism.