SuperAPI AI 工具集

webapp-testing

测试与质量

查看项目

更新于 10-16 03:47

技能介绍

用途:用于与本地 Web 应用交互并测试,借助 Playwright 验证前端功能、调试 UI 行为、捕获截图。核心方式是编写原生 Python Playwright 脚本。注意:Playwright 同步 API 默认无超时限制,可能因网络或页面问题挂起,且本地测试环境需自行准备。

主要能力:提供 scripts/with_server.py 辅助脚本,管理服务器生命周期并支持多服务器;配套 examples/ 目录含常用模式示例,如 element_discovery.py(发现页面按钮、链接和输入)、static_html_automation.py(用 file:// URL 处理本地 HTML)、console_logging.py(自动化期间捕获控制台日志)。

使用方式:先运行脚本的 --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 可直接读取文件识别选择器;动态应用若服务器未运行,先运行 python scripts/with_server.py --help 再用辅助脚本;服务器已运行则采用“侦察后行动”模式——导航并等待 networkidle、截图或检查 DOM、从渲染状态识别选择器、执行操作。

最佳实践:动态应用务必在检查 DOM 前调用 page.wait_for_load_state('networkidle'),否则可能误判;使用 sync_playwright() 同步脚本;始终以 headless 模式启动 chromium;操作结束后关闭浏览器;使用描述性选择器(text=、role=、CSS 选择器或 ID);添加 page.wait_for_selector() 或 page.wait_for_timeout() 等适当等待。

适用场景:验证前端交互、调试 UI、捕获截图与页面内容、收集控制台日志。

限制:资料未提供安装步骤、依赖版本、支持的浏览器范围、价格与授权信息;脚本源码较大,不建议纳入上下文窗口。