Как запустить 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

Нет окна браузера открыто вообще!

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