ワンクリックで
webapp-testing
使用 Playwright 与本地 Web 应用交互和测试的工具包。支持验证前端功能、调试 UI 行为、捕获浏览器截图和查看浏览器日志。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
使用 Playwright 与本地 Web 应用交互和测试的工具包。支持验证前端功能、调试 UI 行为、捕获浏览器截图和查看浏览器日志。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
启动本地 VitePress 服务器,在 http://localhost:5173 预览文档站点
创建高质量 MCP(模型上下文协议)服务器的指南,使 LLM 能够通过精心设计的工具与外部服务交互。在构建 MCP 服务器以集成外部 API 或服务时使用,无论是 Python(FastMCP)还是 Node/TypeScript(MCP SDK)。
分析会议转录和录音,揭示行为模式、沟通洞察和可行的反馈。识别何时回避冲突、使用填充词、主导对话或错失倾听机会。非常适合寻求改善沟通和领导技能的专业人士。
为 Slack 创建优化动画 GIF 的工具包,包含大小约束验证器和可组合动画原语。当用户请求为 Slack 创建动画 GIF 或表情动画时使用此技能,例如"为 Slack 制作一个 X 做 Y 的 GIF"。
分析职位描述并生成定制简历,突出相关经验、技能和成就,最大化面试机会
使用 Twitter 开源算法洞察分析和优化推文以获得最大传播范围。根据推荐系统对内容的排名方式重写和编辑用户推文,以提高参与度和可见性。
| name | webapp-testing |
| description | 使用 Playwright 与本地 Web 应用交互和测试的工具包。支持验证前端功能、调试 UI 行为、捕获浏览器截图和查看浏览器日志。 |
| license | 完整条款见 LICENSE.txt |
要测试本地 Web 应用,编写原生 Python Playwright 脚本。
可用辅助脚本:
scripts/with_server.py - 管理服务器生命周期(支持多个服务器)始终先用 --help 运行脚本以查看用法。不要读取源代码,直到你先尝试运行脚本并发现绝对需要自定义解决方案。这些脚本可能非常大,因此会污染你的上下文窗口。它们的存在是为了作为黑盒脚本直接调用,而不是被摄入到你的上下文窗口中。
用户任务 → 是静态 HTML 吗?
├─ 是 → 直接读取 HTML 文件以识别选择器
│ ├─ 成功 → 使用选择器编写 Playwright 脚本
│ └─ 失败/不完整 → 视为动态(如下)
│
└─ 否(动态 webapp) → 服务器是否已运行?
├─ 否 → 运行:python scripts/with_server.py --help
│ 然后使用辅助脚本 + 编写简化的 Playwright 脚本
│
└─ 是 → 侦察后行动:
1. 导航并等待 networkidle
2. 截图或检查 DOM
3. 从渲染状态识别选择器
4. 使用发现的选择器执行操作
要启动服务器,先运行 --help,然后使用辅助脚本:
单个服务器:
python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py
多个服务器(例如,后端 + 前端):
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 逻辑(服务器自动管理):
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True) # 始终在无头模式下启动 chromium
page = browser.new_page()
page.goto('http://localhost:5173') # 服务器已运行并准备就绪
page.wait_for_load_state('networkidle') # 关键:等待 JS 执行
# ... 你的自动化逻辑
browser.close()
检查渲染的 DOM:
page.screenshot(path='/tmp/inspect.png', full_page=True)
content = page.content()
page.locator('button').all()
识别选择器从检查结果中
执行操作使用发现的选择器
❌ 不要在动态应用上等待 networkidle 之前检查 DOM
✅ 要在检查前等待 page.wait_for_load_state('networkidle')
scripts/ 中可用的脚本之一是否有帮助。这些脚本可靠地处理常见、复杂的工作流程,而不会混乱上下文窗口。使用 --help 查看用法,然后直接调用。sync_playwright() 编写同步脚本text=、role=、CSS 选择器或 IDpage.wait_for_selector() 或 page.wait_for_timeout()element_discovery.py - 发现页面上的按钮、链接和输入static_html_automation.py - 对本地 HTML 使用 file:// URLconsole_logging.py - 在自动化期间捕获控制台日志