Я пытаюсь создать контейнерные тесты для запуска в среде докера.Когда сборка выполняется на коде автоматизации, она создает образ докера и обновляет его в DTR.У меня есть отдельный конвейер jenkins, который запускает команды автоматизации в образе докера и загружает результаты в рабочую область.Все эти настройки работают нормально в недокерной среде (т. Е. На локальном Mac-терминале), но те же тесты не проходят в докерской среде.Я пытаюсь найти решение, но оно, похоже, не работает.
Я получаю ошибки ниже при выполнении тестов транспортира в среде докера
После # test / cucumber / stepDefinitions /hooks.ts: 31 WebDriverError: недопустимый идентификатор сеанса (информация о драйвере: chromedriver = 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72), платформа = Linux 4.9.125-linuxkit x86_64)
я построил образ узла док-станции / круг FROM1007 *https://hub.docker.com/r/circleci/node/) и в этом образе установлены необходимые библиотеки (драйверы узла, npm, пряжи, хрома и хрома).
Перед запуском тестов я убедился, что установлены модули транспортира, огурца и вебдрайвера.
Даже тогда я пытаюсь установить chrome и chrome драйвер при создании образа с помощью менеджера пакетов apt-get.
Окно докера находится в Debian GNU / Linux 9 \ n \ l Драйвер chromeверсия 73.0.3683.75-1 ~ deb9u1 Версия Google Chrome 73.0.3683.103 Я работаю без головы
Making sure the webdriver manager is updated before starting it
Web driver version 13.0
Running below:
webdriver-manager update --ignore_ssl --versions.chrome 73.0.3683.75-1~deb9u1
webdriver-manager start --detach
protractor test/cucumber/config/cucumberConfig.ts
Я ожидаю, что все тесты будут выполняться в докеСреда работает так же, как и в терминале Mac, но выдает следующие ошибки:
- И выйдите из приложения # test / cucumber / stepDefinitions / common-step-def.ts: 64 ✖ После # test/cucumber/stepDefinitions/hooks.ts:31 WebDriverError: недопустимый идентификатор сеанса (информация о драйвере: chromedriver = 73.0.3683.68 (47787ec04b6e38e22703e856e101e840b65afe72), платформа = Linux 4.9.125-linuxkit x86_64l / / /eeeeeeeeee_extra_ex_dex_dex_dex_web_setup_web_setup_web_setup_web_setup_web_setup_web_setup_web_setup_dex_web_setup_web_setup_dex_web_setup_web_setup_web_setup_web_setup_setup (/) / / / / / / / / / / / / / / / на / в /) /lib / error.js: 546: 15) в parseHttpResponse (/node_modules/selenium-webdriver/lib/http.js:509:13) в doSend.then.response (/node_modules/selenium-webdriver/lib/http.js):441: 30) at at process._tickCallback (internal / process / next_tick.js: 189: 7) От: Task: WebDriver.takeScreenshot () в thenableWebDriverProxy.schedule (/node_modules/selenium-webdriver/lib/webdriver.js:807: 17) at thenableWebDriverProxy.takeScreenshot (/node_modules/selenium-webdriver/lib/webdriver.js:1085:17) при запуске (/node_modules/protractor/built/browser.js:59:33) в ProtractorBrowser.to. (анонимная функция) [as takeScreenshot] (/node_modules/protractor/built/browser.js:67:16) в World.(/test/cucumber/stepDefinitions/hooks.ts:36:17)
Есть мысли?