playwright-test-generator

AI-driven Playwright test code generator for QA engineers. Generates Page Object Models, standard test scripts, and data-driven tests from natural language descriptions, HTML analysis, or page URLs. Supports pytest-playwright, Jest Playwright, and native Playwright. Activate when the user asks to "generate Playwright tests", "create test script", "build POM from page", or mentions Playwright test generation.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "playwright-test-generator" with this command: npx skills add shenghoo123-png/playwright-test-generator

Playwright Test Generator

An AI-powered skill that automatically generates Playwright test scripts from natural language descriptions, HTML/page analysis, or existing page URLs.

When to Use

This skill activates when the user:

  • Asks to "generate Playwright tests", "create test script", "build POM from page"
  • Wants to convert natural language steps into test code
  • Needs to analyze a page/URL and generate locators + test code
  • Requests data-driven or Page Object Model test generation
  • Mentions Playwright test generation for pytest, Jest, or native Playwright

Input Types

1. Natural Language → Test Code

Provide test steps in plain English and get complete test scripts.

Example:

Input: "Login to the app with username and password, then verify dashboard loads"
Output: Complete pytest-playwright test with POM

2. Page/URL Analysis → Locators + POM

Provide a URL or HTML content to extract elements and generate Page Object Model.

Example:

Input: URL https://example.com/login
Output: login_page.py with all form element locators + methods

3. HTML Snippet → Element Locators

Provide HTML snippets to extract robust CSS/XPath selectors.

Output Types (Code Genres)

GenreDescriptionFramework
pomPage Object Modelpytest-playwright / Jest Playwright
standardStandard test scriptpytest-playwright / native Playwright
data-drivenParameterized data testspytest-playwright / Jest Playwright
apiAPI test helpersAny

Framework Support

FrameworkLanguageCode Type
pytest-playwrightPythonpom, standard, data-driven
jest-playwrightJavaScript/TypeScriptpom, standard, data-driven
native-playwrightJavaScript/TypeScriptstandard, pom

Usage

Command Mode

# Generate from natural language
playwright-test-generator generate \
  --input "Click login button, enter username and password, click submit" \
  --framework pytest \
  --type pom \
  --output ./tests/

# Analyze URL and generate POM
playwright-test-generator analyze \
  --url https://example.com/login \
  --framework pytest \
  --output ./pages/

# Analyze HTML and generate locators
playwright-test-generator extract-locators \
  --html "$(cat form.html)" \
  --output ./locators.json

Interactive Mode

playwright-test-generator interactive

Follow the guided wizard to generate tests step by step.

API Mode (from other skills/agents)

import { PlaywrightTestGenerator } from './src/generator.js';

const gen = new PlaywrightTestGenerator();
const result = await gen.generate({
  input: 'Click the search box, type "playwright", press Enter',
  framework: 'pytest-playwright',
  codeType: 'standard',
  pageName: 'search_page'
});

Pricing / Tier

TierFeaturesRate
Free≤10 generations/day, standard scripts only0 credits
ProUnlimited, POM + data-driven, priority1 credit/test
EnterpriseCustom frameworks, team features, SLAContact

Developer Guide

Architecture

src/
├── index.js        # CLI entry + skill interface
├── generator.js    # Core code generation logic
├── parser.js       # NL → test steps parser
├── locator.js      # HTML → locator extractor
└── templates/      # Code generation templates
    ├── pytest_pom.py.ejs
    ├── pytest_standard.py.ejs
    ├── pytest_data_driven.py.ejs
    ├── jest_pom.ts.ejs
    ├── jest_standard.ts.ejs
    └── native_pom.ts.ejs

Generator Pipeline

  1. Parse NL input → structured test steps
  2. Extract page elements (if URL/HTML provided)
  3. Select template based on framework + code type
  4. Render template with steps + locators
  5. Output formatted code

Test Steps Schema

{
  action: 'click' | 'fill' | 'press' | 'navigate' | 'wait' | 'assert' | 'hover' | 'select' | 'check' | 'uncheck',
  target: string,        // CSS selector, XPath, or role-based
  value?: string,        // Input value or expected result
  options?: {
    timeout?: number,
    force?: boolean,
    expect?: 'visible' | 'hidden' | 'enabled' | 'disabled'
  }
}

Locator Strategy

Priority order for element selection:

  1. data-testid attribute (most reliable)
  2. role + accessible name (a11y-first)
  3. id attribute
  4. CSS class + tag combinations
  5. XPath (last resort)

Template Variables

VariableDescription
{{pageName}}Page object name (PascalCase)
{{baseUrl}}Target URL
{{steps}}Array of parsed test steps
{{locators}}Map of element name → selector
{{testData}}Data-driven test data
{{framework}}Target framework
{{imports}}Required imports

Error Handling

  • Invalid input → error with suggestion
  • Unsupported framework → list supported frameworks
  • Generation failure → partial output + error report

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Handsfree Windows Control

Guide skill for controlling native Windows apps (UIA) and web browsers (Playwright) via the handsfree-windows CLI. Use when you need to automate or test desk...

Registry SourceRecently Updated
7180Profile unavailable
Automation

AutoClaw Browser Automation

Complete browser automation skill with MCP protocol support and Chrome extension

Registry SourceRecently Updated
1K0Profile unavailable
Security

Test Master

Use when you need a practical testing playbook for turning product or code changes into a clear test strategy, test cases, and execution checklist.

Registry SourceRecently Updated
830Profile unavailable
Automation

AI Test Case Generator

Use when turning requirements, screenshots, or other QA inputs into structured test cases and review questions with an AI-assisted workflow.

Registry SourceRecently Updated
1960Profile unavailable