Ошибка: не может найти браузер. - Попытка запустить тест TestCafe в контейнере DockerJavascript

Форум по Javascript
Ответить
Anonymous
 Ошибка: не может найти браузер. - Попытка запустить тест TestCafe в контейнере Docker

Сообщение Anonymous »

У меня есть проблема с запуском моих тестов TestCafe в моем контейнере Docker. Я продолжаю нажать эту ошибку: < /p>

Код: Выделить всё

Error: Cannot find the browser. "chrome:headless         --no-sandbox         --disable-dev-shm-usage         --headless=new         --enable-pinch         --window-size=1920,1080         --force-device-scale-factor=1         --window-position=0,0         --noerrdialogs         --disable-infobars         --no-default-browser-check         --kiosk         --disable-session-crashed-bubble         --disable-features=TranslateUI         --no-first-run         --simulate-critical-update         --enable-logging=stderr         --v=0         --disable-pinch         --disable-gpu         --disable-component-update         --allow-insecure-localhost         --ignore-certificate-errors         --allow-running-insecure-content         --test-type" is neither a known browser alias, nor a path to an executable file.
< /code>
У меня есть настройка dockerfile: < /p>
FROM node:22-bullseye

# Install required packages
RUN apt-get update && apt-get install -y \
wget \
curl \
gnupg \
ca-certificates \
awscli

# Download and install Chrome via .deb
RUN wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb \
&& apt-get install -y ./google-chrome-stable_current_amd64.deb || apt-get -f install -y \
&& rm google-chrome-stable_current_amd64.deb

# Symlink for TestCafe to find Chrome
RUN ln -s /usr/bin/google-chrome-stable /usr/bin/google-chrome

WORKDIR /app
COPY .  .
RUN yarn config set strict-ssl false
RUN yarn install

CMD ["yarn", "run", "ci:test"]
Я затем создал это изображение, а затем запускаю скрипт Bash, который делает это:
#!/bin/bash

Код: Выделить всё

# Load .env variables
set -a
source .env
set +a

# Set defaults if not already defined
SNAPSHOT=${SNAPSHOT:-actual}
TESTS=${TESTS:-tests/test/*.test.ts}

# Run Docker container with env vars
docker run -it --rm \
-v "$PWD":/app \
-w /app \
-e ENV="$ENV" \
-e STATE="$STATE" \
-e NAMESPACE="$NAMESPACE" \
-e PRODUCT="$PRODUCT" \
-e TESTS="$TESTS" \
-e SNAPSHOT="$SNAPSHOT" \
-e BROWSER="chrome" \
-e HEADLESS="true" \
visual-test-runner
< /code>
Я запускаю эту команду: < /p>
yarn run:snapshot
< /code>
, который вызывает сценарий Bash: < /p>
"run:snapshot": "bash shared/scripts/run-snapshot.sh",
< /code>
Наконец -то мой тестовый бегун, который, как я знаю, работает для всех других тестовых наборов (не используя Docker и работает на Chrome) < /p>
 if (process.env.HEADLESS === 'true') {
localBrowserConfig =
'chrome:headless \
--no-sandbox \
--disable-dev-shm-usage \
--headless=new \
--enable-pinch \
--window-size=1920,1080 \
--force-device-scale-factor=1 \
--window-position=0,0 \
--noerrdialogs \
--disable-infobars \
--no-default-browser-check \
--kiosk \
--disable-session-crashed-bubble \
--disable-features=TranslateUI \
--no-first-run \
--simulate-critical-update \
--enable-logging=stderr \
--v=0 \
--disable-pinch \
--disable-gpu \
--disable-component-update \
--allow-insecure-localhost \
--ignore-certificate-errors \
--allow-running-insecure-content \
--test-type';
} else {
localBrowserConfig =
'chrome \
--window-size=1920,1080 \
--force-device-scale-factor=1 \
--allow-insecure-localhost \
--allow-running-insecure-content \
--ignore-certificate-errors \
--test-type';
}

----

.browsers(
!process.env.BROWSER
? 'chrome:headless \
--no-sandbox \
--disable-dev-shm-usage \
--headless=new \
--enable-pinch \
--window-size=1920,1080 \
--window-position=0,0 \
--noerrdialogs \
--disable-infobars \
--no-default-browser-check \
--kiosk \
--disable-session-crashed-bubble \
--disable-features=TranslateUI \
--no-first-run \
--simulate-critical-update \
--enable-logging=stderr \
--v=0 \
--disable-pinch \
--disable-gpu \
--disable-component-update \
--allow-insecure-localhost \
--ignore-certificate-errors \
--allow-running-insecure-content \
--test-type'
: localBrowserConfig
)
Как это можно решить, чтобы обойти ошибку, которую я получаю?

Подробнее здесь: https://stackoverflow.com/questions/797 ... r-containe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»