2

我正在尝试将茉莉花报告实现到与 Protractor 一起使用的框架中,因此在 conf.js 中我将这段代码

onComplete: function(){
var browserName;
var capsPromise = browser.getCapabilities();

capsPromise.then(function (caps) {
  browserName = caps.get('firefox');

  var HTMLReport = require('protractor-html-reporter');

  testConfig = {
    reportTitle: 'Test Execution Report',
    outPath: '/test/e2e/reports',
    testBrowser: browserName,
    modifiedSuiteName: false
  };
  new HTMLReport().from('xmlresults.xml', testConfig);
});
},

我已经用这个命令安装了 jasmine 记者

npm install --save-dev jasmine-reporters@^2.0.0

当我执行我的脚本时没有失败,但是当执行尝试在终端中生成报告时显示:

E/launcher - ENOENT: no such file or directory, open 'xmlresults.xml'
E/launcher - Error: ENOENT: no such file or directory, open 'xmlresults.xml'

有人知道这个错误会发生什么吗?

希望您能够帮助我。

4

2 回答 2

0

在 conf.js 中,您需要添加两个函数(onPrepare() 和 onComplete())。为了得到html报告。
在准备中

var jasmineReporters = require('jasmine-reporters');
jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({
    consolidateAll: true,
    savePath: './',
    filePrefix: 'xmlresults'
}));

在完成

onComplete: function() {
     var browserName, browserVersion;
     var capsPromise = browser.getCapabilities();
 
     capsPromise.then(function (caps) {
        browserName = caps.get('browserName');
        browserVersion = caps.get('version');
        platform = caps.get('platform');
 
        var HTMLReport = require('protractor-html-reporter-2');
 
        testConfig = {
            reportTitle: 'Protractor Test Execution Report',
            outputPath: './',
            outputFilename: 'ProtractorTestReport',
            screenshotPath: './screenshots',
            testBrowser: browserName,
            browserVersion: browserVersion,
            modifiedSuiteName: false,
            screenshotsOnlyOnFailure: true,
            testPlatform: platform
        };
        new HTMLReport().from('xmlresults.xml', testConfig);
    });
 }

于 2020-09-28T06:24:50.510 回答
0

是的,该文件无法在您指定的路径打开,因为相对于您所在的任何工作目录都不存在。

更改路径以匹配 XML 结果文件的相对目标位置。

于 2017-03-29T23:58:50.250 回答