webapp-testing
Automate local webapp testing and debugging with Playwright scripts that manage servers and capture UI states reliably.
Automate local webapp testing and debugging with Playwright scripts that manage servers and capture UI states reliably.
Stop struggling with flaky UI tests and complex server setups during local development. You verify frontend functionality using Python Playwright scripts that manage server lifecycles, capture screenshots, and debug UI behavior without context clutter. Use this toolkit to enable reliable debugging and interaction testing for your dynamic web applications.
复制以下提示词,粘贴到 OpenClaw 中即可自动安装:
请根据 https://clawshelf.com/api/skills/anthropics-webapp-testing/install 的说明,下载并安装此技能到本地 ~/.openclaw/skills/ 目录。
包含文件
---
name: webapp-testing
description: 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.
license: Complete terms in LICENSE.txt
---
# 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
```
**Multiple servers (e.g., backend + frontend):**
```bash
python scripts/with_server.py \
--server "cd backend && python server.py" --port 3000 \
--server "cd frontend && npm run dev" --port 5173 \暂无评价,成为第一个评价者吧。
100% 原生支持 OpenClaw / Claude 等任何 AI 助手