【问题标题】:Why aren't jasmine-reporters / jasmine-xml2html-converter doing anything? (Protractor)为什么 jasmine-reporters / jasmine-xml2html-converter 不做任何事情? (量角器)
【发布时间】:2015-11-29 19:25:19
【问题描述】:

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

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

【问题讨论】:

    标签: angularjs jasmine automated-tests protractor jasmine-reporters


    【解决方案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;
        });
    },
    

    【讨论】:

      【解决方案2】:

      最新的 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 值显示为“未定义”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-11-06
        • 1970-01-01
        • 2017-01-09
        • 2014-10-03
        • 1970-01-01
        • 1970-01-01
        • 2016-08-25
        • 1970-01-01
        相关资源
        最近更新 更多