Playwright AI Test Generation Skill
An AI-powered skill for generating Playwright end-to-end tests from natural language requirements.
Overview
This skill leverages OpenAI GPT-4o-mini, LangChain, and LangGraph to automatically generate comprehensive Playwright test suites from simple natural language descriptions.
Features
- •Natural Language Processing: Convert plain English test requirements into executable Playwright tests
- •Multi-Browser Support: Generate tests that work across Chromium, Firefox, and WebKit
- •AI Failure Analysis: Automatically diagnose and fix test failures with intelligent suggestions
- •Pattern Learning: Build and reuse test patterns for consistent, high-quality test generation
- •TypeScript Output: Generate modern, type-safe Playwright tests
Usage
Basic Test Generation
bash
python qa_automation.py "Test user login with valid credentials" --framework playwright --url https://example.com
Multiple Test Cases
bash
python qa_automation.py \ "Test successful login" \ "Test login with invalid password" \ "Test form validation" \ --framework playwright --url https://example.com
Run Generated Tests
bash
npx playwright test tests/generated/
AI Failure Analysis
bash
python qa_automation.py --analyze "page.locator('#username').waitFor() timed out"
Architecture
The skill uses a sophisticated LangGraph workflow:
- •Initialize Vector Store: Load existing test patterns
- •Fetch Test Data: Analyze target URL and extract selectors
- •Search Similar Patterns: Find relevant test patterns from history
- •Generate Tests: Use AI to create Playwright tests with context
- •Run Tests: Execute tests and provide feedback
Dependencies
- •Python 3.11+
- •Node.js 20+
- •Playwright
- •OpenAI API access
- •LangChain & LangGraph
Configuration
Set your OpenAI API key:
bash
export OPENAI_API_KEY="your-api-key-here"
Output Structure
Generated tests are saved in tests/generated/ with the pattern:
code
{sequence}_{slugified-requirement}_{timestamp}.spec.ts
Example: 01_test-user-login_20250103_142530.spec.ts
Capabilities
- •Selector Strategies: Intelligent element selection using multiple strategies
- •Wait Management: Automatic wait handling for dynamic content
- •Assertion Generation: Smart assertion creation based on page content
- •Error Handling: Robust error handling and recovery
- •Cross-Browser: Tests work across all Playwright-supported browsers
Integration
This skill integrates seamlessly with:
- •CI/CD pipelines (GitHub Actions, Jenkins, etc.)
- •Test management tools
- •Browser automation workflows
- •AI-powered testing suites
Examples
E-commerce Testing
bash
python qa_automation.py "Test adding items to cart and checkout" --framework playwright --url https://example-shop.com
Form Validation
bash
python qa_automation.py "Test contact form with valid and invalid inputs" --framework playwright --url https://contact-form.com
Navigation Testing
bash
python qa_automation.py "Test main navigation menu functionality" --framework playwright --url https://website.com
Contributing
To extend this skill:
- •Add new test patterns to the vector store
- •Enhance the prompt templates in
prompts/ - •Improve the LangGraph workflow logic
- •Add support for new Playwright features
License
MIT License - see LICENSE file for details.