用途:面向本地 Web 应用的测试工具包,基于 Playwright,用于验证前端功能、调试 UI 行为、截图以及编写自动化脚本。
主要能力:提供辅助脚本 scripts/with_server.py 管理服务器生命周期,支持同时启动多个服务器(如后端加前端)。测试逻辑以原生 Python Playwright 脚本编写。
使用方式:先运行脚本的 --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 逻辑,服务器由辅助脚本管理。
选择策略:若为静态 HTML,直接读取文件识别选择器;失败或不完整则按动态应用处理。动态应用若服务器未运行,先用 with_server.py;若已运行,采用先侦察后操作:导航并等待 networkidle、截图或检查 DOM、从渲染状态识别选择器、再执行操作。
最佳实践:使用 sync_playwright() 编写同步脚本;始终以无头模式启动 chromium;完成后关闭浏览器;使用描述性选择器(text=、role=、CSS 或 ID);添加适当等待(page.wait_for_selector() 或 page.wait_for_timeout())。动态应用务必先等待 page.wait_for_load_state('networkidle') 再检查 DOM。
参考文件:examples/ 目录含 element_discovery.py、static_html_automation.py、console_logging.py 等常见模式示例。
限制:资料未提供安装命令、依赖版本、收费或平台支持等细节。