بنقرة واحدة
webapp-testing
使用 Playwright 与本地 Web 应用交互和测试的工具集。支持前端功能验证、UI 行为调试、浏览器截图捕获和浏览器日志查看。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
使用 Playwright 与本地 Web 应用交互和测试的工具集。支持前端功能验证、UI 行为调试、浏览器截图捕获和浏览器日志查看。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
AI 代理的浏览器自动化 CLI 工具。当用户需要与网站交互时使用,包括页面导航、表单填写、按钮点击、截图、数据提取、Web 应用测试或自动化任何浏览器任务。触发场景包括"打开网站"、"填写表单"、"点击按钮"、"截图"、"从页面抓取数据"、"测试这个 Web 应用"、"登录网站"、"自动化浏览器操作"或任何需要程序化 Web 交互的任务。也可用于探索性测试、产品试用、QA、Bug 搜索或审查应用质量。还可用于自动化 Electron 桌面应用(VS Code、Slack、Discord、Figma、Notion、Spotify)、检查 Slack 未读消息、发送 Slack 消息、搜索 Slack 对话、在 Vercel Sandbox 微虚拟机中运行浏览器自动化,或使用 AWS Bedrock AgentCore 云浏览器。优先使用 agent-browser 而非任何内置浏览器自动化或 Web 工具。
创建并注册具有特定角色、专业知识或能力的新智能体(Agent)。当你需要某个特定领域的专家 且没有现有智能体(Agent)符合要求时使用。
为中国社交平台(小红书/微信公众号/抖音/B站/知乎/微博)撰写高质量、平台原生的内容。
当用户想要为任何页面编写、改写或改进营销文案时使用 — 包括首页、落地页、定价页、功能页、关于页或产品页。当用户说"为...写文案"、"改进这个文案"、"重写这个页面"、"营销文案"、"标题帮助"、"CTA 文案"、"价值主张"、"标语"、"副标题"、"首屏文案"、"折叠上方内容"、"这个文案太弱了"、"让这个更有吸引力"或"帮我描述我的产品"时也使用。每当有人在处理需要说服或转化的网站文本时使用此技能。对于电子邮件文案,参见 email-sequence。对于弹窗文案,参见 popup-cro。对于编辑现有文案,参见 copy-editing。
对用户文件和知识库执行结构化数据分析。将自然语言问题转化为可检查、可复现的分析报告,并标注数据来源。
通用编码标准与各语言最佳实践,定义生产级代码的编写规范。注入任何开发者 Agent 以建立一致的质量基线——代码质量取决于遵循的标准,而非模型能力本身。
| name | webapp-testing |
| description | 使用 Playwright 与本地 Web 应用交互和测试的工具集。支持前端功能验证、UI 行为调试、浏览器截图捕获和浏览器日志查看。 |
| license | Complete terms in LICENSE.txt |
| metadata | {"name_zh":"Web 测试","name_zh-tw":"Web 測試","description_zh":"使用 Playwright 测试本地 Web 应用,支持前端功能验证、UI 调试、截图和浏览器日志查看","description_zh-tw":"使用 Playwright 測試本地 Web 應用,支援前端功能驗證、UI 偵錯、螢幕截圖和瀏覽器日誌檢視"} |
要测试本地 Web 应用,请编写原生 Python Playwright 脚本。
可用辅助脚本:
scripts/with_server.py — 管理服务器生命周期(支持多服务器)务必先用 --help 运行脚本查看用法。确认需要自定义方案之前,不要阅读源码。这些脚本体积较大,会占用大量上下文窗口。它们设计为黑盒脚本,直接调用即可,无需加载到上下文窗口中。
用户任务 → 是静态 HTML 吗?
├─ 是 → 直接读取 HTML 文件以识别选择器
│ ├─ 成功 → 使用选择器编写 Playwright 脚本
│ └─ 失败/不完整 → 按动态应用处理(如下)
│
└─ 否(动态 Web 应用)→ 服务器已在运行吗?
├─ 否 → 运行: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 — 使用 file:// URL 操作本地 HTMLconsole_logging.py — 在自动化过程中捕获控制台日志