使用 Chrome DevTools 协议让 Cypress 成为 运行 Headless Electron
Getting Cypress to run Headless Electron with Chrome DevTools Protocol
赛普拉斯版本^3.8.3
使用 Chrome 我能够设置并连接到远程调试端口。
在cypress/plugins/index.js
if (browser.name === "chrome") {
args.push("--remote-debugging-port=9222");
return args;
}
启动柏树时 运行 然后我可以使用环境变量 CYPRESS_REMOTE_DEBUGGING_PORT=9222
.
作为前缀
然而,当我尝试用 Electron 做类似的事情时,我从来没有连接上。
if (browser.name === "electron") {
args.webPreferences = {
remoteDebuggingPort: 9222
};
//----OR------
args.remoteDebuggingPort = 9222;
return args;
}
我觉得我错过了一些非常简单的东西!任何关于如何让 Cypress Electron 运行 连接远程调试端口的想法都很棒!
Electron 不会在端口上侦听 CDP 消息,您尝试使用的方法目前仅限于在独立浏览器中使用 CDP。
但是,如果您只需要从测试中发送 CDP 命令,而不是订阅事件,则有一种 未记录且不受支持的 方法可以通过 Cypress.automation('remote:debugger:protocol', { command, params })
.
赛普拉斯版本^3.8.3
使用 Chrome 我能够设置并连接到远程调试端口。
在cypress/plugins/index.js
if (browser.name === "chrome") {
args.push("--remote-debugging-port=9222");
return args;
}
启动柏树时 运行 然后我可以使用环境变量 CYPRESS_REMOTE_DEBUGGING_PORT=9222
.
然而,当我尝试用 Electron 做类似的事情时,我从来没有连接上。
if (browser.name === "electron") {
args.webPreferences = {
remoteDebuggingPort: 9222
};
//----OR------
args.remoteDebuggingPort = 9222;
return args;
}
我觉得我错过了一些非常简单的东西!任何关于如何让 Cypress Electron 运行 连接远程调试端口的想法都很棒!
Electron 不会在端口上侦听 CDP 消息,您尝试使用的方法目前仅限于在独立浏览器中使用 CDP。
但是,如果您只需要从测试中发送 CDP 命令,而不是订阅事件,则有一种 未记录且不受支持的 方法可以通过 Cypress.automation('remote:debugger:protocol', { command, params })
.