SuperAPI AI 工具集

webapp-testing

测试与质量

查看项目

更新于 10-16 01:37

技能介绍

用途:通过编写原生 Python Playwright 脚本,对本地 Web 应用进行交互与测试,常用于验证前端功能、调试 UI 行为与截图检查。

主要能力:提供辅助脚本 scripts/with_server.py 管理服务器生命周期,支持同时启动多个服务器;配合 Playwright 完成页面导航、等待加载、截图、DOM 检查与操作执行。附带参考示例:element_discovery.py 用于发现页面上的按钮、链接与输入框,static_html_automation.py 演示用 file:// URL 处理本地 HTML,console_logging.py 演示捕获控制台日志。

使用方式:先运行脚本时加 --help 查看用法,将脚本作为黑盒直接调用,不要先读源码(脚本较大,会占用上下文窗口)。动态应用且服务器未运行时,先执行 python scripts/with_server.py --help,再用辅助脚本配合简化后的 Playwright 脚本。单服务器示例: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,可直接读取 HTML 文件识别选择器;若失败或不完整,按动态应用处理。动态应用若服务器已在运行,采用先侦察后操作:导航并等待 networkidle,截图或检查 DOM,从渲染状态识别选择器,再用发现的选择器执行操作。

最佳实践:使用 sync_playwright() 编写同步脚本;始终以无头模式启动 chromium;结束时关闭浏览器;使用 text=、role=、CSS 选择器或 ID 等描述性选择器;添加 page.wait_for_selector() 或 page.wait_for_timeout() 等适当等待。常见陷阱:动态应用在等待 networkidle 之前就检查 DOM;应先调用 page.wait_for_load_state('networkidle') 再检查。

限制:资料未提供该工具包的收费、价格、平台兼容范围与具体效果数据。