Score:0

docker - WebDriverError: unknown error: Chrome failed to start: exited abnormally

us flag
Jay

I am a novice in a docker container. I am trying to create a docker file that has npm, node js, chromedriver and selenium-chromedriver and run my javascript file. In my local , I run the script in the headless chrome browser.

Here is my docker file.

FROM node:17.2.0

USER root

WORKDIR /home/app

RUN apt-get update
  
RUN apt-get install git --yes

# Install Google Chrome
RUN apt-get install wget
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
RUN apt-get install ./google-chrome*.deb --yes


#FROM node:14.18.0
#FROM node:17.2.0
#USER root
ENV NODE_ENV=production
WORKDIR /LoadTesting
COPY ["/LoadTesting/package.json", "."]
RUN npm install
RUN npm ci
RUN npm install nodejs
RUN npm install mocha -g
RUN npm install chromedriver -g --unsafe-perm
RUN npm install selenium-webdriver

COPY /LoadTesting .
COPY /LoadTesting/test .
CMD ["node", "./test/script.js"]

following is my docker compose file

version: '3.7'

services:
  k6:
    image: "loadimpact/k6:0.32.0"
    volumes:
      - "./loadtesting:/scripts"
  nodejs:
    build:
      context: ./
      dockerfile: k6-nodejs-dockerfile
    volumes:
      - '.loadtesting:/loadtesting'

volumes:
  grafana-storage:
  prometheus-data:
    external: true

Then I use following commands

docker compose build //no error
docker compose up k6 nodejs

Then I get following error.

/LoadTesting/node_modules/selenium-webdriver/lib/error.js:517
-nodejs-1  |     let err = new ctor(data.message)
-nodejs-1  |               ^
-nodejs-1  |
-nodejs-1  | WebDriverError: unknown error: Chrome failed to start: exited abnormally.
-nodejs-1  |   (unknown error: DevToolsActivePort file doesn't exist)
-nodejs-1  |   (The process started from chrome location /usr/bin/google-chrome is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
-nodejs-1  |     at Object.throwDecodedError (/LoadTesting/node_modules/selenium-webdriver/lib/error.js:517:15)
-nodejs-1  |     at parseHttpResponse (/LoadTesting/node_modules/selenium-webdriver/lib/http.js:643:13)
-nodejs-1  |     at Executor.execute (/LoadTesting/node_modules/selenium-webdriver/lib/http.js:569:28)
-nodejs-1  |     at processTicksAndRejections (node:internal/process/task_queues:96:5) {
-nodejs-1  |   remoteStacktrace: '#0 0x55d05197cee3 <unknown>\n' +
-nodejs-1  |     '#1 0x55d05144a608 <unknown>\n' +
-nodejs-1  |     '#2 0x55d05146d8ef <unknown>\n' +
-nodejs-1  |     '#3 0x55d05146946f <unknown>\n' +
-nodejs-1  |     '#4 0x55d0514a3f45 <unknown>\n' +
-nodejs-1  |     '#5 0x55d05149e163 <unknown>\n' +
-nodejs-1  |     '#6 0x55d051473bfc <unknown>\n' +
-nodejs-1  |     '#7 0x55d051474c05 <unknown>\n' +
-nodejs-1  |     '#8 0x55d0519aebaa <unknown>\n' +
-nodejs-1  |     '#9 0x55d0519c4651 <unknown>\n' +
-nodejs-1  |     '#10 0x55d0519afb05 <unknown>\n' +
-nodejs-1  |     '#11 0x55d0519c5a68 <unknown>\n' +
-nodejs-1  |     '#12 0x55d0519a405f <unknown>\n' +
-nodejs-1  |     '#13 0x55d0519e0818 <unknown>\n' +
-nodejs-1  |     '#14 0x55d0519e0998 <unknown>\n' +
-nodejs-1  |     '#15 0x55d0519fbeed <unknown>\n' +
-nodejs-1  |     '#16 0x7f46791e2ea7 <unknown>\n'
-nodejs-1  | }
-nodejs-1  |

What am I missing? simple google search says that my google chromer version and chromedriver version should match. How do I do it? I don't need a specific version as I run chrome in headless chrome browser in my script.

Please suggest.

TestUser132141 avatar
cn flag
Did you ever figure out the problem?
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.