소스 정보
- 저장소
- Tencent/awesome-devbuddy
- 최근 소스 활동
- 2025년 12월 29일 07:34
- 감지된 SKILL.md 언어
- 중국어
- 스타
- 24
- 포크
- 2
설치 방법
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
소스 파일 검토
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
메뉴
기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.
설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/Tencent/awesome-devbuddy --skill webapp-testing명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SKILL.md 표시 중
SOC 직업 분류 기준
| name | webapp-testing |
| description | 使用 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 - 在自动化过程中捕获控制台日志