Как запустить тестирование браузера в докере?

У меня есть приложение node.js, которое запускает тесты mocha, используя шимпанзе, и работает нормально при работе внутри моей локальной ОС. Он использует Google Chrome для тестирования пользовательского интерфейса.

В настоящее время я докернизирую это приложение... Однако я не уверен в том, что мне нужно для запуска теста пользовательского интерфейса с точки зрения браузера.

Я использовал некоторые команды из https://github.com/workflow/docker-chimp/blob/master/Dockerfile, чтобы установить безголовый браузер Chrome.

Мои тесты проваливаются на крючке "прежде всего"... Но я понятия не имею, где это и почему это происходит. Тесты в хост-ОС выполняются нормально.

> pluto_integ_test@1.0.0 test /PlutoD2D/itest
> chimp --mocha


[chimp] Running...


  1) "before all" hook

  0 passing (1m)
  1 failing

  1)  "before all" hook:
     Error: timeout of 60000ms exceeded. Ensure the done() callback is being called in this test




Mocha failed
npm ERR! Test failed.  See above for more details.

Как я могу узнать, в чем проблема?

1 ответ

Попробуйте использовать пакет mocha-headless-chrome.

npm i mocha-headless-chrome

mocha-headless-chrome -f test-page.html

Также вам понадобятся некоторые библиотеки для запуска безголового хрома в Docker-контейнере:

apt-get install -y gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget

Смотрите детали.

Другие вопросы по тегам