用途:面向本地 Web 应用的交互与测试工具包,基于 Playwright,用于验证前端功能、调试 UI 行为以及截图等。
主要能力:提供辅助脚本 scripts/with_server.py 管理服务器生命周期,支持同时启动多个服务器(如后端加前端)。测试逻辑需自行编写原生 Python Playwright 脚本。
使用方式:先运行脚本的 --help 查看用法,不要直接阅读源码,脚本体积较大,应作为黑盒直接调用。选择路径的决策树:若为静态 HTML,可直接读取文件确定选择器;若失败或不完整,则按动态应用处理。动态应用若服务器未运行,先执行 python scripts/with_server.py --help,再用辅助脚本加简化 Playwright 脚本;若服务器已运行,采用先侦察后操作:导航并等待 networkidle、截图或检查 DOM、从渲染状态识别选择器、再执行操作。
启动服务器示例:单服务器 python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py;多服务器可重复 --server 与 --port 参数。自动化脚本只写 Playwright 逻辑,服务器由辅助脚本管理。
最佳实践:使用 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 使用 file:// URL 处理本地 HTML,console_logging.py 捕获自动化过程中的控制台日志。
限制:资料未提供安装命令、依赖版本、支持的浏览器范围、收费或价格信息,暂未提供。