Заставляем Cypress запускать Headless Electron с помощью протокола Chrome DevTools
Версия Cypress ^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 запустить удаленный порт отладки, были бы замечательными!
1 ответ
Electron не прослушивает сообщения CDP на порту, метод, который вы пытаетесь использовать, пока ограничен использованием CDP с автономными браузерами.
Однако, если вам просто нужно отправлять команды CDP из ваших тестов, а не подписываться на события, есть недокументированный и неподдерживаемый способ сделать это черезCypress.automation('remote:debugger:protocol', { command, params })
.