Получение Cypress для запуска Headless Electron с Chrome DevTools Protocol - PullRequest
0 голосов
/ 05 марта 2020

Cypress версия ^3.8.3

Использование Chrome Я могу настроить и подключиться к порту удаленной отладки.

В кипарис / плагины / индекс. 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 Ответ

0 голосов
/ 25 марта 2020

Electron не прослушивает сообщения CDP через порт, метод, который вы пытаетесь использовать, пока ограничен использованием CDP с автономными браузерами.


Однако, если вам просто нужно отправить CDP Команды из ваших тестов, а не подписка на события, есть недокументированный и неподдерживаемый способ сделать это через Cypress.automation('remote:debugger:protocol', { command, params }).

Пример: https://github.com/cypress-io/cypress/blob/d92d3c0bab21cbd4ff96c24848779461f183a6d6/packages/server/test/support/fixtures/projects/e2e/cypress/support/index.js#L1 -L13

...