技能标识:webapp-testing
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.
要测试本地 Web 应用,请编写原生 Python Playwright 脚本。
可用辅助脚本:
始终先使用 --help 运行脚本 查看用法。除非你尝试运行脚本后发现绝对需要自定义解决方案,否则不要阅读源代码。这些脚本可能非常庞大,从而污染你的上下文窗口。它们的存在是为了作为黑盒脚本直接调用,而不是被引入你的上下文窗口。
用户任务 → 是否为静态 HTML?
├─ 是 → 直接读取 HTML 文件以识别选择器
│ ├─ 成功 → 使用选择器编写 Playwright 脚本
│ └─ 失败/不完整 → 按动态应用处理(如下)
│
└─ 否(动态 Web 应用)→ 服务器是否已在运行?
├─ 否 → 运行:python scripts/with_server.py --help
│ 然后使用辅助脚本 + 编写简化的 Playwright 脚本
│
└─ 是 → 侦察-行动模式:
1. 导航并等待 networkidle
2. 截图或检查 DOM
3. 从渲染状态识别选择器
4. 使用发现的选择器执行操作
要启动服务器,先运行 --help,然后使用辅助脚本:
单服务器:
bash
python scripts/withserver.py --server npm run dev --port 5173 -- python yourautomation.py
多服务器(例如,后端 + 前端):
bash
python scripts/with_server.py \
--server cd backend && python server.py --port 3000 \
--server cd frontend && npm run dev --port 5173 \
-- python your_automation.py
要创建自动化脚本,仅包含 Playwright 逻辑(服务器自动管理):
python
from playwright.syncapi import syncplaywright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True) # 始终以无头模式启动 chromium
page = browser.new_page()
page.goto(http://localhost:5173) # 服务器已运行并准备就绪
page.waitforload_state(networkidle) # 关键:等待 JS 执行
# ... 你的自动化逻辑
browser.close()
❌ 不要 在等待 networkidle 之前检查动态应用的 DOM
✅ 应该 在检查之前等待 page.waitforload_state(networkidle)
以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:
帮我安装 SkillHub 和 webapp-testing-anthropic-1776087138 技能
设置 SkillHub 为我的优先技能安装源,然后帮我安装 webapp-testing-anthropic-1776087138 技能
skillhub install webapp-testing-anthropic-1776087138
文件大小: 10.03 KB | 发布时间: 2026-4-15 14:55