Я хочу построить изображение докеров из источников моего проекта javascript. Я написал несколько тестов с помощью Mocha Framework. Тесты должны выполняться во время процесса сборки сборки докеров, потому что я хочу автоматизировать сборку с Jenkins.Выполнение тестов селена в контейнере докера
В тестах должен использоваться веб-редактор Firefox. Я установил Xvfb в образ докеры, чтобы предоставить виртуальный дисплей для процесса Firefox.
Но каждый раз, когда я бегу строить все тесты потерпеть неудачу, и я получаю сообщение об ошибке, как следующее:
Uncaught WebDriverError: Unable to parse new session response: {"error":"unknown error","message":"connection refused"}
at WebDriverError (node_modules/selenium-webdriver/lib/error.js:27:5)
at client_.send.then.response (node_modules/selenium-webdriver/http/index.js:477:17)
at ManagedPromise.invokeCallback_ (node_modules/selenium-webdriver/lib/promise.js:1379:14)
at TaskQueue.execute_ (node_modules/selenium-webdriver/lib/promise.js:2913:14)
at TaskQueue.executeNext_ (node_modules/selenium-webdriver/lib/promise.js:2896:21)
at asyncRun (node_modules/selenium-webdriver/lib/promise.js:2820:25)
at node_modules/selenium-webdriver/lib/promise.js:639:7
at process._tickDomainCallback (internal/process/next_tick.js:129:7)
From: Task: WebDriver.createSession()
at Function.createSession (node_modules/selenium-webdriver/lib/webdriver.js:329:24)
at Driver (node_modules/selenium-webdriver/firefox/index.js:386:38)
at Builder.build (node_modules/selenium-webdriver/builder.js:467:16)
at Object.<anonymous> (test/e2e/driver.js:10:69)
...
Когда я запускаю тесты вне контейнера Docker на моей локальной машине все отлично работает.
Я инициализировать WebDriver со следующими командами:
var webdriver = require('selenium-webdriver');
var capabilities = webdriver.Capabilities.firefox();
capabilities.set('marionette', true);
var driver = new webdriver.Builder().withCapabilities(capabilities).build();
Существуют ли какие-либо рекомендации о том, как запустить тесты селеном headlessly внутри Docker контейнера?
Не мог бы вы добавить Dockerfile? –