2016-08-11 7 views
1

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

В настоящее время я докетирую это приложение ... Тем не менее, я не уверен, что мне нужно для запуска теста ui с точки зрения браузера.

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

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

> [email protected] 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

try --debug flag. Также см. Этот https://medium.com/lucjuggery/using-chimp-to-test-a-docker-compose-application-a258a610a57e#.h58qbe7el –

+0

Решение заключалось в том, чтобы либо запустить его как привилегированное, либо использовать xvfb (лучше) –

ответ

0

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

npm i mocha-headless-chrome 

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

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

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 

См details.