Почему 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 показывает "неопределенный".

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