Вам нужен сервер селена - ваш собственный (в этом случае вам нужно будет запускать узлы селена) или стороннюю услугу, например browserstack
, или saucelabs
.
Лично у меня был опыт настройки Bamboo
для ежедневного запуска тестов e2e на браузере. Вот конфигурация транспортир мы использовали:
'use strict';
var browserstackUser = 'user';
var browserstackKey = 'key';
exports.config = {
multiCapabilities: [
{
'browserstack.user': browserstackUser,
'browserstack.key': browserstackKey,
'browserstack.local': 'true',
'browserstack.debug': 'true',
'browserName': 'Chrome',
'os': 'Windows',
'os_version': '8',
specs: [
'*.spec.js'
],
exclude: [
'footer.disabledCookies.spec.js',
'footer.disabledFlash.spec.js'
]
},
{
'browserstack.user': browserstackUser,
'browserstack.key': browserstackKey,
'browserstack.local': 'true',
'browserstack.debug': 'true',
'browserName': 'Internet Explorer',
'browser_version': '9.0',
'os': 'Windows',
'os_version': '7',
'resolution': '1024x768',
specs: [
'*.spec.js'
],
exclude: [
'footer.disabledCookies.spec.js',
'footer.disabledFlash.spec.js'
]
}
],
maxSessions: 2,
// Browserstack's selenium server address
seleniumAddress: 'http://hub.browserstack.com/wd/hub',
framework: 'jasmine',
allScriptsTimeout: 300000,
baseUrl: 'http://localhost:9001',
onPrepare: function() {
require('jasmine-reporters');
var capsPromise = browser.getCapabilities();
capsPromise.then(function (caps) {
var browserName = caps.caps_.browserName.toUpperCase();
var browserVersion = caps.caps_.version;
var prePendStr = browserName + "-" + browserVersion + "-";
jasmine.getEnv().addReporter(new
jasmine.JUnitXmlReporter("test-results", true, true, prePendStr));
});
},
jasmineNodeOpts: {
showColors: true,
isVerbose: true,
includeStackTrace: true,
defaultTimeoutInterval: 3600000
}
};
Обратите внимание на использование JUnitXmlReporter
из jasmine-reporters
, который передает результаты тестирования в файл в формате JUnit XML
. Вы можете выполнить постпроцессию, чтобы показать результаты теста у дженкинсов.