بنقرة واحدة
webapp-testing
使用 Playwright 与本地 Web 应用交互并进行测试的工具包。支持验证前端功能、调试 UI 行为、捕获浏览器截图,以及查看浏览器日志。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
使用 Playwright 与本地 Web 应用交互并进行测试的工具包。支持验证前端功能、调试 UI 行为、捕获浏览器截图,以及查看浏览器日志。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
中文提示词优化技能。用户要求优化、重写、迭代、比较系统提示词或用户提示词,或希望把 Prompt Optimizer / MCP 接入提示词工作流时使用;关注目标澄清、意图保留、结构化约束、测试样例和多轮评估。
中文代码库理解技能。用户要求读懂、分析、解释、梳理 C++、Java、Python、前后端或毕业设计项目时使用;专门输出模块结构、入口、调用链、类/函数职责、数据流、配置、依赖、测试和适合论文描述的系统结构。
中文 C++ 系统开发技能。用户要求编写、分析、调试或重构 C++ 项目时使用;关注 CMake、模块划分、类设计、RAII、内存安全、指针/引用、并发、性能、测试和跨平台构建。
中文 Java/Spring 系统开发技能。用户要求编写、分析、调试或完善 Java、Spring Boot、后端管理系统、REST API、数据库应用或毕业设计 Java 系统时使用;关注分层架构、DTO、Service、Repository、事务、异常、权限、测试和工程规范。
中文 Python 系统开发技能。用户要求编写、分析、调试或完善 Python、FastAPI、Django、Flask、自动化脚本、数据处理或毕业设计 Python 系统时使用;关注包结构、类型标注、虚拟环境、依赖、异常处理、测试、API 和工程化。
中文代码质量复核技能。用户要求检查 bug、测试缺口、异常处理、安全问题、重复代码、复杂代码、提交前检查或系统完善时使用;适用于 C++、Java、Python、前端、后端和毕业设计系统。
| name | webapp-testing |
| description | 使用 Playwright 与本地 Web 应用交互并进行测试的工具包。支持验证前端功能、调试 UI 行为、捕获浏览器截图,以及查看浏览器日志。 |
| license | 完整条款见 LICENSE.txt |
测试本地 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 选择器或 ID。page.wait_for_selector() 或 page.wait_for_timeout()。element_discovery.py - 发现页面上的按钮、链接和输入框。static_html_automation.py - 使用 file:// URL 自动化本地 HTML。console_logging.py - 在自动化过程中捕获控制台日志。