Как запустить Karma с Firefox, используя Xvfb?
Я хочу запустить Firefox, используя Xvfb для запуска Karma на автономном сервере.
Карма нуждается в плагине запуска, чтобы автоматически запускать и останавливать браузеры. Я нашел https://www.npmjs.com/package/karma-xvfb-chrome-launcher, но никто не для Firefox.
После установки Xvfb (Ubuntu) я знаю, что могу запустить Firefox с помощью следующей команды:
$ xvfb-run firefox <app-under-test-url>
Чего я не знаю, так это как заставить Карму запустить Firefox таким образом.
Есть ли способ предоставить пользовательский скрипт запуска / остановки браузера для работы с Karma?
Можно ли это сделать через Karma.conf.js?
Как я могу это сделать?
Спасибо!
2 ответа
Ты можешь использовать xvfb-run
чтобы запустить Karma, и любой браузер, который он запускает, будет работать в новом экземпляре Xvfb.
В Makefile
у меня есть эта команда, которая запускается, когда я хочу запустить свои тесты на основе кармы:
xvfb-run karma start --single-run
xvfb-run
работает, запуская экземпляр Xvfb, захватывая его номер дисплея и устанавливая DISPLAY
переменная окружения, тогда она запускает команду, которую вы передали в качестве аргумента. Это означает, что все, что выполняется через xvfb-run
(включая любые новые процессы, запущенные с начального) использует DISPLAY
ценить это xvfb-run
установил и, следовательно, появится на экземпляре Xvfb, который xvfb-run
началось.
Учитывая ответ Louis...
Поскольку я использую Angular 2 с typscript, я заставил его работать, добавив следующие строки в мой файл package.json:
"test": "tsc && одновременно \"tsc -w\" \" начало кармы karma.conf.js \ "",
"test-once": "tsc && karma start karma.conf.js - одиночный запуск",
"test-xvfb": "xvfb-run npm, запустить test-Once",
Теперь, когда я запускаю тесты следующим образом:
$ npm run test-xvfb
Нет окна браузера открыто вообще!