E2E Испытательный Электрон со Спектроном - Докер Windows - PullRequest
0 голосов
/ 11 октября 2019

Я работаю над тестированием E2E в приложении, работающем внутри Electron, чтобы оно могло работать в конвейере в Jenkins. Я поместил его в докер-контейнер, на котором запущен образ службы Windows (сборка, версия 1903). Проблема в том, что в контейнере происходит сбой драйвера chrome.

Я использую следующие зависимости (Спектрон и электрон):

"electron": "^6.0.12",
"spectron": "^8.0.0"

И я получаю эту ошибку:

{ Error: unknown error: Chrome failed to start: exited normally
  (unknown error: DevToolsActivePort file doesn't exist)
  (The process started from chrome location C:\Users\rvlima\node_modules\spectron\lib\launcher.bat is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
  (Driver info: chromedriver=78.0.3904.11 (eaaae9de6b8999773fa33f92ce1e1bbe294437cf-refs/branch-heads/3904@{#86}),pla
tform=Windows NT 10.0.18362 x86_64)
    at new RuntimeError (C:\Users\rvlima\node_modules\webdriverio\build\lib\utils\ErrorHandler.js:143:12)
    at Request._callback (C:\Users\rvlima\node_modules\webdriverio\build\lib\utils\RequestHandler.js:318:39)
    at Request.self.callback (C:\Users\rvlima\node_modules\request\request.js:185:22)
    at Request.emit (events.js:198:13)
    at Request.EventEmitter.emit (domain.js:448:20)
    at Request.<anonymous> (C:\Users\rvlima\node_modules\request\request.js:1161:10)
    at Request.emit (events.js:198:13)
    at Request.EventEmitter.emit (domain.js:448:20)
    at IncomingMessage.<anonymous> (C:\Users\rvlima\node_modules\request\request.js:1083:12)
    at Object.onceWrapper (events.js:286:20)
    at IncomingMessage.emit (events.js:203:15)
    at IncomingMessage.EventEmitter.emit (domain.js:448:20)
    at endReadableNT (_stream_readable.js:1145:12)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  details: undefined,
  message:
   'Client initialization failed after 10 attempts: RuntimeError Client initialization failed after 10 attempts: ',
  type: 'RuntimeError',
  seleniumStack:
   { type: 'UnknownError',
     message:
      'An unknown server-side error occurred while processing the command.',
     orgStatusMessage:
      'unknown error: Chrome failed to start: exited normally\n  (unknown error: DevToolsActivePort file doesn\'t exi
st)\n  (The process started from chrome location C:\\Users\\rvlima\\node_modules\\spectron\\lib\\launcher.bat is no l
onger running, so ChromeDriver is assuming that Chrome has crashed.)\n  (Driver info: chromedriver=78.0.3904.11 (eaaa
e9de6b8999773fa33f92ce1e1bbe294437cf-refs/branch-heads/3904@{#86}),platform=Windows NT 10.0.18362 x86_64)' } }

Другой момент заключается в том, что это работает внутри контейнера Windows с версией 1803, но, к сожалению, я не могу использовать эту версию, потому что машина Jenkins использует последнюю версию Windows (1903).

1 Ответ

0 голосов
/ 21 октября 2019

Для тех, у кого такая же проблема, я нашел решение.

Проблема заключалась в том, что я использовал образ ядра службы Windows, и у него была проблема с отображением хрома. Поэтому мне нужно, чтобы это работало, просто изменив базовый образ, чтобы использовать Windows-клиент таким образом, чтобы я мог заставить его работать.

...