I am setting up a docker container to run my Angular E2E tests. It seems that I am missing something when I set up Chromium. I am using Angular 11 with Protractor.
My Dockerfile is
FROM node:15.6.0
RUN apt-get update &&
DEBIAN_FRONTEND="nointeractive"
apt-get install -y --no-install-recommends
chromium
libgconf-2-4
openjdk-8-jre-headless
&& rm -rf /var/lib/apt/lists/*
WORKDIR /opt/frontend/angular
COPY . .
RUN rm -r node_modules
RUN npm install -g @angular/cli
RUN npm install
CMD ng e2e --baseUrl="http://something.com/"
and the error I am getting in docker is
Connected.
Your global Angular CLI version (11.1.1) is greater than your local version (11.0.0). The local Angular CLI version is used.
To disable this warning use "ng config -g cli.warnings.versionMismatch false".
[20:43:25] I/file_manager - creating folder /opt/frontend/angular/node_modules/protractor/node_modules/webdriver-manager/selenium
[20:43:25] I/config_source - curl -o/opt/frontend/angular/node_modules/protractor/node_modules/webdriver-manager/selenium/chrome-response.xml https://chromedriver.storage.googleapis.com/
[20:43:27] I/downloader - curl -o/opt/frontend/angular/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_88.0.4324.96.zip https://chromedriver.storage.googleapis.com/88.0.4324.96/chromedriver_linux64.zip
[20:43:29] I/update - chromedriver: unzipping chromedriver_88.0.4324.96.zip
[20:43:29] I/update - chromedriver: setting permissions to 0755 for /opt/frontend/angular/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_88.0.4324.96
[20:43:30] I/launcher - Running 1 instances of WebDriver
[20:43:30] I/direct - Using ChromeDriver directly...
[20:43:32] E/runner - Unable to start a WebDriver session.
[20:43:32] E/launcher - Error: WebDriverError: unknown error: Chrome failed to start: exited abnormally.
(unknown error: DevToolsActivePort file doesn't exist)
(The process started from chrome location /usr/bin/chromium is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
(Driver info: chromedriver=88.0.4324.96 (68dba2d8a0b149a1d3afac56fa74648032bcf46b-refs/branch-heads/4324@{#1784}),platform=Linux 4.19.121-linuxkit x86_64)
at Object.checkLegacyResponse (/opt/frontend/angular/node_modules/selenium-webdriver/lib/error.js:546:15)
at parseHttpResponse (/opt/frontend/angular/node_modules/selenium-webdriver/lib/http.js:509:13)
at /opt/frontend/angular/node_modules/selenium-webdriver/lib/http.js:441:30
at processTicksAndRejections (node:internal/process/task_queues:94:5)
[20:43:32] E/launcher - Process exited with error code 100
Disconnected from container.
Is there anything that I am missing for setting up Chromium for Angular e2e tests in docker?
question from:
https://stackoverflow.com/questions/65875880/issue-with-running-e2e-angular-tests-in-docker-and-setting-up-chromium 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…