Рейтинг:0

docker - WebDriverError: неизвестная ошибка: не удалось запустить Chrome: аварийное завершение работы

флаг us
Jay

Я новичок в контейнере докеров. Я пытаюсь создать файл докеров с npm, node js, chromedriver и selenium-chromedriver и запустить мой файл javascript. В моем локальном я запускаю скрипт в безголовом браузере Chrome.

Вот мой файл докера.

ОТ узла: 17.2.0

ПОЛЬЗОВАТЕЛЬ root

РАБОЧИЙ КАТАЛОГ /дом/приложение

RUN apt-получить обновление
  
RUN apt-get install git --yes

# Установите Google Chrome
ВЫПОЛНИТЬ apt-получить установку wget
ЗАПУСК wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
ЗАПУСК apt-get install ./google-chrome*.deb --yes


#ОТ узла:14.18.0
#ОТ узла:17.2.0
#ПОЛЬЗОВАТЕЛЬ root
ENV NODE_ENV=производство
WORKDIR/нагрузочное тестирование
КОПИРОВАТЬ ["/LoadTesting/package.json", "."]
ЗАПУСТИТЬ установку npm
ЗАПУСК npm ci
ЗАПУСТИТЬ npm установить nodejs
ЗАПУСК npm установить мокко -g
ЗАПУСК npm установить chromedriver -g --unsafe-perm
ЗАПУСК npm установить selenium-webdriver

КОПИРОВАТЬ /Нагрузочное тестирование .
КОПИРОВАТЬ /LoadTesting/test .
CMD ["узел", "./test/script.js"]

Ниже приведен мой файл компоновки докеров.

версия: '3.7'

Сервисы:
  к6:
    изображение: "loadimpact/k6:0.32.0"
    тома:
      - "./нагрузочное тестирование:/скрипты"
  узлы:
    строить:
      контекст: ./
      докерфайл: k6-nodejs-dockerfile
    тома:
      - '.loadtesting:/loadtesting'

тома:
  графана-хранилище:
  прометей-данные:
    внешний: правда

Затем я использую следующие команды

docker compose build//нет ошибки
докер создает k6 nodejs

Затем я получаю следующую ошибку.

/LoadTesting/node_modules/selenium-webdriver/lib/error.js:517
-узлы-1 | let err = новый ctor(data.message)
-узлы-1 | ^
-узлы-1 |
-узлы-1 | WebDriverError: неизвестная ошибка: не удалось запустить Chrome: аварийное завершение работы.
-узлы-1 | (неизвестная ошибка: файл DevToolsActivePort не существует)
-узлы-1 | (Процесс, запущенный из папки chrome /usr/bin/google-chrome, больше не работает, поэтому ChromeDriver предполагает, что Chrome потерпел крах.)
-узлы-1 | в Object.throwDecodedError (/LoadTesting/node_modules/selenium-webdriver/lib/error.js:517:15)
-узлы-1 | в parseHttpResponse (/LoadTesting/node_modules/selenium-webdriver/lib/http.js:643:13)
-узлы-1 | в Executor.execute(/LoadTesting/node_modules/selenium-webdriver/lib/http.js:569:28)
-узлы-1 | at processTicksAndRejections (узел: внутренний/процесс/task_queues:96:5) {
-узлы-1 | remoteStacktrace: '#0 0x55d05197cee3 <неизвестно>\n' +
-узлы-1 | '#1 0x55d05144a608 <неизвестно>\n' +
-узлы-1 | '#2 0x55d05146d8ef <неизвестно>\n' +
-узлы-1 | '#3 0x55d05146946f <неизвестно>\n' +
-узлы-1 | '#4 0x55d0514a3f45 <неизвестно>\n' +
-узлы-1 | '#5 0x55d05149e163 <неизвестно>\n' +
-узлы-1 | '#6 0x55d051473bfc <неизвестно>\n' +
-узлы-1 | '#7 0x55d051474c05 <неизвестно>\n' +
-узлы-1 | '#8 0x55d0519aebaa <неизвестно>\n' +
-узлы-1 | '#9 ​​0x55d0519c4651 <неизвестно>\n' +
-узлы-1 | '#10 0x55d0519afb05 <неизвестно>\n' +
-узлы-1 | '#11 0x55d0519c5a68 <неизвестно>\n' +
-узлы-1 | '#12 0x55d0519a405f <неизвестно>\n' +
-узлы-1 | '#13 0x55d0519e0818 <неизвестно>\n' +
-узлы-1 | '#14 0x55d0519e0998 <неизвестно>\n' +
-узлы-1 | '#15 0x55d0519fbeed <неизвестно>\n' +
-узлы-1 | '#16 0x7f46791e2ea7 <неизвестно>\n'
-узлы-1 | }
-узлы-1 |

Что мне не хватает? простой поиск в google говорит, что моя версия google chromer и версия chromedriver должны совпадать. Как это сделать? Мне не нужна конкретная версия, так как я запускаю хром в безголовом браузере хром в своем скрипте.

Пожалуйста, предложите.

TestUser132141 avatar
флаг cn
Вы когда-нибудь выясняли проблему?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.