← 返回 Skills 市场
corbin-breton

Webapp Testing

作者 Corbin Breton · GitHub ↗ · v1.1.0 · MIT-0
cross-platform ✓ 安全检测通过
167
总下载
0
收藏
0
当前安装
3
版本数
在 OpenClaw 中安装
/install keats-webapp-testing
功能描述
Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing...
使用说明 (SKILL.md)

Web Application Testing

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

Triggers

Activate this skill when the user wants to:

  • Verify frontend functionality of a local web application
  • Debug UI behavior or capture browser screenshots
  • Automate browser interactions (form fills, button clicks, navigation)
  • View browser console logs or test rendering
  • Write Playwright automation scripts for local dev environments

This skill is for local development environments only. Do not run against production URLs.

NOT For

  • Production testing — do not run against live production URLs; use staging only
  • Load testing or performance testing — use dedicated tools (k6, Locust, etc.)
  • API-only testing — no browser needed; use exec with curl or httpx
  • Visual regression testing at scale — this skill handles functional automation, not pixel-diffing

Helper Scripts Available:

  • scripts/with_server.py - Manages server lifecycle (supports multiple servers)

Always run scripts with --help first to see usage. Prefer calling scripts directly rather than reading large source files into context. If customization is needed, read the relevant section of the source. All bundled scripts are open-source and auditable — review them before first use in any new environment.

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 (safe default — no shell):

python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py

Multiple servers:

python scripts/with_server.py \
  --server "python server.py" --port 3000 \
  --server "npm run dev" --port 5173 \
  -- python your_automation.py

Compound commands (explicit shell mode — only for trusted commands):

python scripts/with_server.py --shell \
  --server "cd backend && python server.py" --port 3000 \
  -- python your_automation.py

To create an automation script, include only Playwright logic (servers are managed automatically):

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True) # Always launch chromium in headless mode
    page = browser.new_page()
    page.goto('http://localhost:5173') # Server already running and ready
    page.wait_for_load_state('networkidle') # CRITICAL: Wait for JS to execute
    # ... your automation logic
    browser.close()

Reconnaissance-Then-Action Pattern

  1. Inspect rendered DOM:

    page.screenshot(path='/tmp/inspect.png', full_page=True)
    content = page.content()
    page.locator('button').all()
    
  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

Safety & Security

  • Local-only: This skill targets localhost development servers only. Never use it against production URLs.
  • Script auditing: All bundled scripts (scripts/with_server.py) are open-source Python. Review them before first use.
  • Server commands: The with_server.py helper runs server commands as argv by default (no shell interpretation, safe against injection). For compound commands requiring shell features (cd && ..., pipes), use the explicit --shell flag. Shell mode should only be used with trusted commands you've reviewed.
  • No network exfiltration: Playwright connects only to localhost. No data is sent to external endpoints.
  • No credentials: This skill does not require, store, or transmit any API keys or tokens.

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

The scripts/with_server.py helper is the primary bundled utility. Check scripts/ for any other available helpers before writing custom code.

安全使用建议
This skill appears coherent and limited to local webapp testing. Before use: review scripts/with_server.py (it launches server processes and can run commands through a shell only when you pass --shell), avoid using --shell unless the command is trusted, never point tests at production URLs, and remember that screenshots/page content can contain sensitive data from the app under test. If you will run untrusted server commands, run them in an isolated environment (container/VM).
能力评估
Purpose & Capability
Name/description (local webapp testing with Playwright) align with the included helper and examples. The bundle requests no unrelated binaries, env vars, or config paths.
Instruction Scope
SKILL.md focuses on local development use and Playwright scripts. It instructs running local servers and automation scripts and explicitly warns not to use production URLs. It also suggests saving screenshots and reading page content (normal for testing) — be aware those artifacts may include sensitive app data during testing.
Install Mechanism
No install spec; the skill is instruction-only with a single small Python helper included. Nothing is downloaded or written to disk by an installer.
Credentials
No environment variables, credentials, or config paths are requested. The helper runs local server commands and checks localhost ports only — proportional to the stated purpose.
Persistence & Privilege
Skill is not always-enabled, does not request elevated persistence, and contains no logic that modifies other skills or global agent configuration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install keats-webapp-testing
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /keats-webapp-testing 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.0
Version 1.1.0 - Added dedicated "Safety & Security" section to documentation, emphasizing safe defaults, shell usage, and local-only focus. - Expanded detail on the use of the --shell flag and safe/unsafe usage patterns for server commands. - Clarified best practices for script inspection and usage, preferring direct invocation and audits over reading large source files. - Updated usage examples and server command guidance for safer default operation. - Added version field to SKILL.md.
v1.0.1
Add local-development-only emphasis
v1.0.0
Initial release: Playwright-based local webapp testing with server lifecycle management and browser automation
元数据
Slug keats-webapp-testing
版本 1.1.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 3
常见问题

Webapp Testing 是什么?

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 167 次。

如何安装 Webapp Testing?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install keats-webapp-testing」即可一键安装,无需额外配置。

Webapp Testing 是免费的吗?

是的,Webapp Testing 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Webapp Testing 支持哪些平台?

Webapp Testing 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Webapp Testing?

由 Corbin Breton(@corbin-breton)开发并维护,当前版本 v1.1.0。

💬 留言讨论