WebDriverError: неверный идентификатор сессии - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь создать контейнерные тесты для запуска в среде докера.Когда сборка выполняется на коде автоматизации, она создает образ докера и обновляет его в 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)

Есть мысли?

1 Ответ

0 голосов
/ 09 мая 2019

Возможно, проверьте версию Chrome, совместимую с версией ОС, которую вы используете в Docker.Судя по логам, страница даже не загружается и не падает при загрузке.Либо для загрузки страницы требуется больше памяти, либо могут быть включены расширения chromes.

попробуйте добавить эти параметры в конфигурацию

chromeOptions: {
                args: [
                    'incognito',
                    'disable-extensions',
                    'disable-infobars',
                ]
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...