webapp-testing

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

By composio-community · 600 installs

npx skills add composio-community/awesome-codex-skills --skill webapp-testing

Source repository · Upstream listing

Web Application Testing To test local web applications, write native Python Playwright scripts. Helper Scripts Available : scripts/with server.py Manages server lifecycle (supports multiple servers) Always run scripts with help first to see usage. DO NOT read the source until you try running the script first and find that a customized solution is abslutely necessary. These scripts can be very large and thus pollute your context window. They exist to be called directly as black box scripts rather than ingested into your context window. Decision Tree: Choosing Your Approach Example: Using with server.py To start a server, run help first, then use the helper: Single server: Multiple servers (e.g., backend + frontend): To create an automation script, include only Playwright logic (servers are managed automatically): Reconnaissance Then Action Pattern 1. Inspect rendered DOM : 2. Identify selectors from inspection results 3. Execute actions using discovered selectors Common Pitfall ❌ Don't inspect the DOM before waiting for networkidle on dynamic apps ✅ Do wait for page.wait for load state('networkidle') before inspection Best Practices Use bundled scripts as black boxes To accomplish a task, consider whether one of the scripts available in scripts/ can help. These scripts handle common, complex workflows reliably without cluttering the context window. Use help to see usage, then invoke directly. Use sync playwright() for synchronous scripts Always close the browser when done Use descriptive selectors: text= , role= , CSS selectors, or IDs Add appropriate waits: page.wait for selector() or page.wait for timeout() Reference Files examples/ Examples showing common patterns: element discovery.py Discovering buttons, links, and inputs on a page static html automation.py Using file:// URLs for local HTML console logging.py Capturing console logs during automation