webapp-testinglisted
Install: claude install-skill JasonxzWen/harness-hub
# 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
```
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 networkidle
2. Take screenshot or inspect DOM
3. Identify selectors from rendered state
4. Execute actions with discovered selectors
```
## Example: Using with_server.py
To start a server, run `--help` first, then use the helper:
**Single server:**
```bash
python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py
```
**Multip