webapp-testinglisted
Install: claude install-skill JasonxzWen/harness-hub
# Web Application Testing
> Harness Hub adaptation: prefer the project's existing browser runner and user-visible readiness over fixed network or time waits.
Reuse the project's existing browser runner and conventions. When none exists and the bundled helper fits, write a small native Python Playwright script.
**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
```
User task ->Is it static HTML?
+-- Yes -> Read HTML file directly to identify selectors
| +-- Success -> Write Playwright script using selectors
| +-- Fails/Incomplete -> Treat as dynamic (below)
+-- No (dynamic webapp) -> Is the server already running?
+-- No -> Run: python scripts/with_server.py --help
| Then use the helper + write simplified Playwright script
+-- Yes -> Reconnaissance-then-action:
1. Navigate and wait for the task's user-visible state
2. Capture the screenshot, DOM, and relevant console output
3. Identify selectors by role or label; use test IDs only as a fallback