webapp-testing

Automate browser testing of local web applications using Python Playwright scripts.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/chhpt/skills --skill webapp-testing-chhpt
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: webapp-testing
Source: https://github.com/chhpt/skills/tree/main/skills/webapp-testing
Command: npx skills add https://github.com/chhpt/skills --skill webapp-testing-chhpt

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires playwright, and includes scripts (resource) components.

What problem does it solve? Testing local web applications manually is slow and error-prone, especially when verifying frontend behavior, debugging UI issues, or capturing browser state. This Skill automates browser interactions with Playwright so you can validate functionality, inspect rendered DOMs, and capture screenshots or console logs programmatically. ## Core Features & Use Cases - Server Lifecycle Management: The with_server.py helper starts one or more servers (e.g., backend plus frontend), waits for readiness, runs your automation, and cleans up automatically. - Reconnaissance-Then-Action Pattern: Navigate pages, wait for network idle, inspect the rendered DOM, and then act on discovered selectors for reliable dynamic-app testing. - Ready-Made Examples: Includes scripts for element discovery, static HTML automation via file:// URLs, and console log capture. - Use Case: You have a React frontend on port 5173 and a Python backend on port 3000. Use the helper to launch both servers, then run a Playwright script that logs in, clicks through the dashboard, and screenshots the result. ## Quick Start Ask the AI to test your local web app by starting the dev server with the with_server.py helper and writing a Playwright script that navigates to the page, waits for networkidle, and captures a screenshot.

Frequently Asked Questions about webapp-testing

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test a local web application with Playwright in Python?

Write a Python script using sync_playwright, launch Chromium in headless mode, navigate to your localhost URL, and wait for the networkidle load state before interacting. Use the with_server.py helper to start your dev server automatically before the script runs.

How do I run Playwright tests that need multiple servers?

Pass multiple --server and --port pairs to with_server.py, one per server. It starts each server, waits for its port to accept connections, runs your automation command, then terminates all servers cleanly.

Why does my Playwright script fail to find elements on dynamic pages?

The DOM is likely inspected before JavaScript finishes rendering. Call page.wait_for_load_state('networkidle') after navigation, then take a screenshot or read page.content() to discover the actual rendered selectors before acting.

Can Playwright automate static HTML files without a server?

Yes. Build a file:// URL from the absolute path of the HTML file and pass it to page.goto(). You can then click elements, fill forms, and capture screenshots exactly as with a served page.

How do I capture browser console logs during Playwright automation?

Register a handler with page.on('console', handler) before navigating. Each console message is passed to your callback, where you can print it or append it to a list and save the logs to a file after the browser closes.