Почему jasmine-reporters / jasmine-xml2html-converter ничего не делает? (Транспортир)
Это не делает никаких отчетов вообще. Вы видите причину почему? Спасибо!
onPrepare: function() {
var jasmineReporters = require('jasmine-reporters');
var capsPromise = browser.getCapabilities();
return capsPromise.then(function(caps){
var browserName = caps.caps_.browserName;
});
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: false,
savePath: 'C:/QA/test_results/'
}));
},
// Функция обратного вызова, вызываемая после завершения тестирования.
onComplete: function() {
var path = require("path");
var browserName, browserVersion;
var reportPath = 'C:/QA/test_results/';
var capsPromise = browser.getCapabilities();
return capsPromise.then(function (caps) {
browserName = caps.caps_.browserName.toLowerCase();
browserName = browserName.replace(/ /g,"-");
browserVersion = caps.caps_.version;
return null;
});
var HTMLReport = require('jasmine-xml2html-converter');
reportPath += browserName;
// Вызов пользовательского отчета для вывода html
testConfig = {
reportTitle: 'Test Execution Report',
outputPath: reportPath,
seleniumServer: browser.seleniumAddress,
applicationUrl: browser.baseUrl,
testBrowser: browserName + ' ' + browserVersion
};
new HTMLReport().from(reportPath + '/junitresults.xml', testConfig);
}
2 ответа
Ваша функция onPrepare останавливается при достижении оператора return. На самом деле функция addReporter никогда не вызывается.
Вы должны добавить свой JasmineReporter, а затем сохранить возможности вашего браузера. Попробуйте что-то вроде этого:
onPrepare: function() {
var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
consolidateAll: false,
savePath: 'C:/QA/test_results/'
}));
return browser.getCapabilities().then(function(caps){
var browserName = caps.caps_.browserName;
});
},
В последних серверах селена есть изменения в cap_method. Попробуйте что-то вроде этого: вместо:
return capsPromise.then(function (caps) {
browserName = caps.caps_.browserName.toLowerCase();
browserName = browserName.replace(/ /g,"-");
browserVersion = caps.caps_.version;
return null;
});
Использовать этот:
browser.getCapabilities().then(function(c){
console.log(c.get('browserName'));
browserName = c.get('browserName').toLowerCase();
browserName = browserName.replace(/ /g,"-");
browserVersion = c.get('version');
return null;
});
Я могу генерировать HTML из XML, однако, значение testbrowser в HTML показывает "неопределенный".