SuperAPI AI 工具集

electron-live-test

测试与质量

查看项目

更新于 10-15 22:38

技能介绍

用途:对正在运行的 Electron 桌面应用做实时、有头(headed)测试,让智能体检查或驱动当前打开的桌面应用,用于开发过程中的交互式验证,不替代确定性的 CI 自动化测试(如 Playwright、WebDriver 或应用自带冒烟测试)。

主要能力:通过 Chrome DevTools Protocol 操作渲染进程的 DOM、React/Vue/Svelte 界面、路由、侧边栏、对话框、表单、键盘输入、控制台日志与网络可见行为;对 canvas、WebGL、Pixi、Three.js、游戏、地图或自定义渲染界面使用截图、OCR 或模板匹配;对原生窗口边框、菜单、文件选择器、权限与系统对话框使用 macOS 无障碍/AX 工具;主进程行为则依赖进程日志或应用日志。

使用方式:需 native-devtools-mcp 可供智能体宿主使用;macOS 需为控制方授予辅助功能与屏幕录制权限;Electron 渲染进程需通过 CDP 端点开启调试;目标应用需以有头模式运行。建议从中立目录启动 MCP,例如 sh -c "cd /tmp && exec npx -y native-devtools-mcp";权限或辅助程序设置可运行 pnpm dlx native-devtools-mcp setup 或 cd /tmp && npx native-devtools-mcp setup;快速检查用 cd /tmp && npx -y native-devtools-mcp --help。应用需暴露远程调试端口,常见启动方式如 electron . --remote-debugging-port=9222 或 ELECTRON_ENABLE_LOGGING=1 npm run dev -- --remote-debugging-port=9222;附加前用 curl --fail --silent http://127.0.0.1:9222/json/version 与 /json/list 验证端点。通过 /json/list 按标题、URL 或路由选择已有渲染目标,避免附加到空白页。

流程与限制:交互前先取新 DOM 快照,每次只做一个明确动作,点击、输入、导航或等待后重新取快照;canvas 或原生窗口操作先截图并说明坐标依据。不要擅自启动、停止或重启用户应用,除非用户明确要求。CDP 仅绑定回环地址,不要在打包或生产构建中暴露;不要输入密钥、支付数据、生产凭据或隐私数据,除非用户提供安全测试值;避免破坏性 UI 操作。遇到登录、缺少窗口、缺少 CDP 端口、缺少权限、意外对话框、目标错误或反复失败时应停止并报告。测试后汇总测试内容、所用交互路径、CDP 端点与目标标题/URL、通过或失败项,以及另行运行的自动化检查。