用途:通过编写原生 Python Playwright 脚本,对本地 Web 应用进行交互与测试,验证前端功能、调试 UI 行为。
主要能力:提供辅助脚本 scripts/with_server.py 管理服务器生命周期,支持同时启动多个服务器(如后端加前端)。测试脚本只需包含 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。自动化脚本使用 sync_playwright(),以 headless 模式启动 chromium,page.goto 后必须调用 page.wait_for_load_state('networkidle') 等待 JS 执行,完成后关闭浏览器。
决策流程:若为静态 HTML,直接读取文件识别选择器;失败或不完整则按动态应用处理。动态应用若服务器未运行,先用 with_server.py;若已运行,采用“先侦察后操作”:导航并等待 networkidle,截图或检查 DOM,从渲染状态识别选择器,再执行操作。
适用场景:本地 Web 应用的前端功能验证、UI 行为调试、元素发现、控制台日志捕获等。
限制与注意:动态应用在等待 networkidle 前不要检查 DOM。选择器建议使用 text=、role=、CSS 或 ID,并添加适当等待。参考文件包括 examples/ 下的 element_discovery.py、static_html_automation.py、console_logging.py。具体安装命令、收费与平台信息暂未提供。