webdriverio-community / wdio-html-reporter

Fork of wdio-html-format-reporter
MIT License
18 stars 27 forks source link

wdio-html-nice-reporter Not generating reports #63

Closed Hayk-S closed 3 years ago

Hayk-S commented 3 years ago

Hi,

I have recently upgraded wdio v6 to v7 and also switched to the new wdio-html-nice-reporter. However, html reports are not being generated for my tests. Can you advise what can be the reason for this?

Note that when I use the deprecated @rpii/wdio-html-reporter reporter, html reports are being generated but they are non-interactable (e.g. can't collapse suites or click on error screenshot to make that full size) but with v6 everything was working fine.

package.json file

  "dependencies": {
    "@rpii/wdio-html-reporter": "^7.7.1",
    "@rpii/wdio-report-events": "^0.1.3",
    "@wdio/cli": "^7.7.5",
    "@wdio/devtools-service": "^7.7.5",
    "@wdio/junit-reporter": "^7.7.5",
    "@wdio/local-runner": "^7.7.5",
    "@wdio/mocha-framework": "^7.7.5",
    "@wdio/shared-store-service": "^7.7.5",
    "@wdio/spec-reporter": "^7.7.5",
    "@wdio/sync": "^7.7.5",
    "chromedriver": "^90.0.0",
    "expect": "^26.6.2",
    "expect-webdriverio": "^1.4.1",
    "geckodriver": "^1.22.3",
    "mocha": "^8.2.1",
    "mocha-each": "^2.0.1",
    "mocha-tags": "^1.0.1",
    "typescript-string-operations": "^1.4.1",
    "wdio-chromedriver-service": "^7.2.0",
    "wdio-geckodriver-service": "^1.1.2",
    "wdio-html-nice-reporter": "^7.7.12",
    "wdio-image-comparison-service": "^2.3.0",
  },
  "devDependencies": {
    "@babel/cli": "^7.10.5",
    "@babel/core": "^7.11.4",
    "@babel/eslint-parser": "^7.14.7",
    "@babel/node": "^7.12.6",
    "@babel/plugin-proposal-class-properties": "^7.12.13",
    "@babel/plugin-proposal-private-methods": "^7.14.5",
    "@babel/preset-env": "^7.11.0",
    "@babel/register": "^7.10.5",
    "@types/mocha": "^8.0.3",
    "babel-plugin-module-resolver": "^4.1.0",
    "core-js": "^3.6.5",,
    "regenerator-runtime": "^0.13.7",
  },

Contents of wdio.conf.js:

const { HtmlReporter, ReportAggregator } = require('@rpii/wdio-html-reporter');

services: [
    'chromedriver',
    'geckodriver',
    'devtools',
    'shared-store',
  ],
  framework: 'mocha',
  reporters: [
    'spec',
    [
      HtmlReporter,
      {
        debug: true,
        outputDir: reportHtmlDir,
        filename: `${uuid}-${target}-test-report.html`,
        reportTitle: `PMTA ${capitalize(target)} Test Report`,
        useOnAfterCommandForScreenshot: false,
      },
    ],
  ],

  mochaOpts: {
    ui: 'bdd',
    timeout: 10000,
    require: ['@babel/register'],
  },

  onPrepare: async function (capabilities) {

    const reportAggregator = new ReportAggregator({
      outputDir: reportHtmlDir,
      filename: `master-report.html`,
      reportTitle: `PMTA Master Report`,
      browserName: capabilities.browserName,
      collapseTests: true,
    });

    reportAggregator.clean();
    global.reportAggregator = reportAggregator;
  },

  onComplete: async function () {
    await global.reportAggregator.createReport();
  },

When I enable the logs I see below error:

Report Aggregation started                                                                
Aggregated 1 specs, 1 suites, 1 reports,                                                                                                                                   
Html Generation started                                                                                                                                  
Html Generation processing ended in error: TypeError: Cannot read property 'replace' of undefined
Report Aggregation completed
Hayk-S commented 3 years ago

Update: This issue was fixed with the version 7.7.14 update.