【问题标题】:Jasmine report error: ENOENT: no such file or directory, open 'xmlresults.xml'Jasmine 报错:ENOENT: no such file or directory, open 'xmlresults.xml'
【发布时间】:2017-08-23 16:31:00
【问题描述】:

我正在尝试在我的框架中实现与 Protractor 一起使用的 jasmine 报告,所以我在 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'

有人知道这个错误是怎么回事吗?

希望你能帮助我。

【问题讨论】:

    标签: javascript automation jasmine protractor jasmine-reporters


    【解决方案1】:

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

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

    【讨论】:

    • 我不明白你说什么,你能给我举个例子说明代码应该如何?
    • "file" 您尝试打开的内容 (xmlresults.xml) 不在“工作目录”中,即运行应用程序或测试的文件系统位置。您必须指定要打开的文件在文件系统上的位置的“路径”。将它放在from 参数中,例如/path/to/xmlresults.xml。此外,在清理工作目录之前,在运行测试后检查以确保该文件确实存在。
    • 哦,好吧,我明白你的意思,但我认为 xmlresults.xml 是应该创建的文件,并且应该位于 outPath 上,这就是我对该代码的理解,因为我搜索文档xmlresults.xml 并没有创建。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-15
      • 1970-01-01
      • 2018-09-17
      • 2023-04-03
      • 2017-02-08
      • 2016-11-01
      • 1970-01-01
      • 2021-10-29
      相关资源
      最近更新 更多