用途:当需要测试 Electron 桌面应用(如 VS Code、Slack 等)、调试 Electron 渲染进程、自动化主进程(原生菜单、对话框、IPC)、多窗口测试或 Electron 特有功能(webContents、BrowserWindow)时使用本技能。不适用于纯 Web 应用(改用 Chrome MCP 或 Playwright)或非 Electron 桌面应用(macOS 用 Hammerspoon,Linux 用 dev-test-linux)。
主要能力:通过 CDP 连接 Electron,使用 Runtime、Page、DOM、Debugger、Network、Input 等域执行 JavaScript、导航、截图、查询 DOM、读取控制台与网络事件、派发键鼠事件;同时覆盖渲染进程与主进程(主进程可通过 type 为 node 的目标访问)。
使用方式:先做工具可用性检查,确认 curl、jq 以及 websocat 或 wscat 存在,缺失则停止。启动时加 --remote-debugging-port=9222(或 0)并配合 --enable-logging --log-file=/tmp/electron.log。用 curl -s http://localhost:9222/json/list | jq '.' 发现目标,取 webSocketDebuggerUrl 后用 websocat 发送 JSON 命令。执行截图或 E2E 前必须先完成 dev-tdd 的 6 道门禁:BUILD、LAUNCH(文件日志)、WAIT、CHECK PROCESS、READ LOGS(不可跳过)、VERIFY LOGS。每条 CDP 命令都要读取响应、检查 error 字段并验证结果。
限制:缺少 curl、jq、websocat/wscat 时无法继续;不要 mock CDP 或 IPC;不要用 HTTP 替代 WebSocket;不要只测渲染进程;不要直接调用函数代替真实点击。资料未提供具体安装命令之外的平台细节与价格信息。