1

这根本不会发生任何报告。你能看出原因吗?谢谢!

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);
}
4

2 回答 2

1

您的 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;
    });
},
于 2015-11-30T09:59:20.707 回答
0

最新的 selenium 服务器中的 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;
});

我能够从 xml 生成 html,但是,html 中的 testbrowser 值显示“未定义”。

于 2016-11-09T11:10:45.520 回答