webapp-testing

Test local web applications with Playwright scripts and managed server lifecycles.

1|Updated May 19, 2026
One-click install
npx skills add https://github.com/thomasmartinsen/talks --skill webapp-testing-thomasmartinsen
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: webapp-testing
Source: https://github.com/thomasmartinsen/talks/tree/main/20260519%20-%20Agentic%20engineering/weather-app-demo/.github/skills/webapp-testing
Command: npx skills add https://github.com/thomasmartinsen/talks --skill webapp-testing-thomasmartinsen

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Testing local web applications requires manually starting servers, waiting for JavaScript to render, and writing browser automation from scratch, which is error-prone and repetitive. ## Core Features & Use Cases - Server Lifecycle Management: The with_server.py helper starts one or multiple servers (backend plus frontend) and runs your automation against them automatically. - Playwright Automation Patterns: Provides a decision tree and reconnaissance-then-action workflow for discovering selectors on dynamic pages before executing actions. - 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 waits for networkidle, screenshots the page, and verifies UI behavior. ## Quick Start Use the webapp-testing skill to start my local dev server and verify the login button works on the homepage.

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?

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

How to run Playwright tests against multiple servers?

Pass multiple --server and --port flags to with_server.py, one pair per server. For example, start a backend on port 3000 and a frontend on port 5173, then run your automation script after both are ready.

Why does Playwright find no elements on my dynamic page?

The DOM is inspected before JavaScript finishes rendering. Call page.wait_for_load_state('networkidle') after navigation so dynamic content loads before you query selectors or take screenshots.

Can Playwright automate static HTML files without a server?

Yes, static HTML files can be opened directly using file:// URLs in Playwright. Read the HTML first to identify selectors, then write your automation script against those known selectors.

How do I capture console logs during browser automation?

Attach a console event listener to the Playwright page object before navigation. The examples directory includes console_logging.py demonstrating how to record browser console output during automation runs.