首页 > 解决方案 > 无法使用“文件名:”更改“protractor-jasmine2-html-reporter”中的文件名

问题描述

我正在使用“'protractor-jasmine2-html-reporter”为我的 E2E 测试用例生成报告。我需要每次运行来创建一个新的报告 html 文件。

现在,每次运行我的测试套件都会覆盖“htmlReport.html”文件

已尝试将 moment.js 添加到“文件名:”的末尾,但名称不会从“htmlReport.html”更改

标签: javascriptjasmineprotractorjasmine-reporters

解决方案


我已经尝试通过在 onComplete 的 TestConfig 对象中将 Date 添加到 out outputFilename 并且它运行良好并使用当前日期创建 html。

这是它的样子

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

      let current_datetime = new Date()
      let formatted_date = current_datetime.getFullYear() + "_" + (current_datetime.getMonth() + 1) + "_" + current_datetime.getDate() + " " + current_datetime.getHours() + ":" + current_datetime.getMinutes() + ":" + current_datetime.getSeconds()
      let fD1 = formatted_date.replace(" ","_");
      let fD2 = fD1.replace(":","_").replace(":","_");

      testConfig = {
        reportTitle: 'Protractor Test Execution Report',
        outputPath: './reports',
        outputFilename: 'htmlReport_' + fD2,
        screenshotPath: './reports/screenshots',
        testBrowser: browserName,
        browserVersion: browserVersion,
        modifiedSuiteName: true,
        screenshotsOnlyOnFailure: true,
        testPlatform: platform
      };
      new HTMLReport().from('./Results/xmlresults-test1.xml', testConfig);
    });
  }

希望这可以帮助!


推荐阅读