webapp-testing

To test local web applications, write native Python Playwright scripts.

By sickn33 · 736 installs

npx skills add sickn33/agentic-awesome-skills --skill webapp-testing

Source repository · Upstream listing

Web Application Testing Catalog modification: source review first and state based waits; server helper bounds/cleanup updated. To test local web applications, write native Python Playwright scripts. Helper Scripts Available : scripts/with server.py Manages server lifecycle (supports multiple servers) Inspect helper source, project scripts and lifecycle hooks before execution. Use help only after review; even help is code execution. These helpers are convenience scaffolds, not an execution sandbox. 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 Use locator assertions for the actual application state; networkidle can hang on polling and does not prove hydration or business readiness. Best Practices Review bundled scripts before use To accomplish a task, consider whether one of the scripts available in scripts/ can help. Their allowlist is not a security boundary: npm/node/python commands can execute arbitrary project code. 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 When to Use This skill is applicable to execute the workflow or actions described in the overview. Limitations Use this skill only when the task clearly matches the scope described above. Do not treat the output as a substitute for environment specific validation, testing, or expert review. Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing. Server and test boundaries Use an authorized isolated test database/account and bind local dev servers to loopback. Read project start/test scripts before running; executable name and argument checks do not prevent network, lifecycle scripts or arbitrary Python/JavaScript execution. The helper refuses existing listeners, uses bounded waits and discards server stdout/stderr to avoid pipe deadlock; a TCP listener is still only a readiness hint, so verify the expected HTTP/page identity. POSIX cleanup targets the launched process group; Windows child process tree cleanup is not guaranteed, and any process escaping its group needs explicit cleanup. Test command timeout does not guarantee descendant termination. Save screenshots/logs in approved private paths and redact credentials/PII; do not overwrite shared /tmp files. The referenced examples directory is absent in this import, so do not claim those scripts are bundled. A passing screenshot/DOM check is not functional, accessibility or security coverage; report exact actions and assertions run, failures and untested paths.