allure-framework / allure2

Allure Report is a flexible, lightweight multi-language test reporting tool. It provides clear graphical reports and allows everyone involved in the development process to extract the maximum of information from the everyday testing process
https://allurereport.org/
Apache License 2.0
4.04k stars 703 forks source link

Error encountered when merged blob reports to generate allure-playwright report #2336

Open ck-singh opened 6 months ago

ck-singh commented 6 months ago

Describe the Bug

Encountered below error when tried using merge-reports feature of playwright to merge blob reports, from an execution that used 2 shards, and generate an allure report. Please note that the same blob reports can be merged to generate an HTML report without any issue.

TypeError: Cannot read properties of undefined (reading 'repeatEach')

Steps to Reproduce

  1. Download attached blob reports (report-1.zip and report-2.zip) generated using sharding. report-1.zip report-2.zip
  2. copy the downloaded blob reports (report-1.zip and report-2.zip) to all-blob-reports folder
  3. RUN: npx playwright merge-reports --reporter allure-playwright ./all-blob-reports

Expected Behaviour

Screenshots or Additional Context

Actual

merging reports from /builds/XXXX/playwright/all-blob-reports extracting: all-blob-reports/report-1.zip extracting: all-blob-reports/report-2.zip merging events processing test events **Error in reporter TypeError: Cannot read properties of undefined (reading 'repeatEach')** at AllureReporter.onTestBegin (/builds/XXXX/playwright/node_modules/allure-playwright/src/index.ts:107:17) at ReporterV2Wrapper.onTestBegin (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/reporterV2.js:55:157) at /builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:38:65 at wrap (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:86:5) at Multiplexer.onTestBegin (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:38:45) at TeleReporterReceiver._onTestBegin (/builds/XXXX/playwright/node_modules/playwright/lib/isomorphic/teleReceiver.js:140:157) at TeleReporterReceiver.dispatch (/builds/XXXX/playwright/node_modules/playwright/lib/isomorphic/teleReceiver.js:63:12) at dispatchEvents (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/merge.js:53:22) at createMergedReport (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/merge.js:67:11) at mergeReports (/builds/XXXX/playwright/node_modules/playwright/lib/cli.js:181:3) at t.<anonymous> (/builds/XXXX/playwright/node_modules/playwright/lib/cli.js:95:7) Error in reporter TypeError: Cannot read properties of undefined (reading 'repeatEach') at AllureReporter.onTestBegin (/builds/XXXX/playwright/node_modules/allure-playwright/src/index.ts:107:17) at ReporterV2Wrapper.onTestBegin (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/reporterV2.js:55:157) at /builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:38:65 at wrap (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:86:5) at Multiplexer.onTestBegin (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:38:45) at TeleReporterReceiver._onTestBegin (/builds/XXXX/playwright/node_modules/playwright/lib/isomorphic/teleReceiver.js:140:157) at TeleReporterReceiver.dispatch (/builds/XXXX/playwright/node_modules/playwright/lib/isomorphic/teleReceiver.js:63:12) at dispatchEvents (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/merge.js:53:22) at createMergedReport (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/merge.js:67:11) at mergeReports (/builds/XXXX/playwright/node_modules/playwright/lib/cli.js:181:3) at t.<anonymous> (/builds/XXXX/playwright/node_modules/playwright/lib/cli.js:95:7) building final report Error in reporter TypeError: Cannot read properties of undefined (reading 'repeatEach') at AllureReporter.onTestBegin (/builds/XXXX/playwright/node_modules/allure-playwright/src/index.ts:107:17) at /builds/XXXX/playwright/node_modules/allure-playwright/src/index.ts:221:12 at Array.forEach (<anonymous>) at AllureReporter.addSkippedResults (/builds/XXXX/playwright/node_modules/allure-playwright/src/index.ts:220:22) at AllureReporter.onEnd (/builds/XXXX/playwright/node_modules/allure-playwright/src/index.ts:246:10) at ReporterV2Wrapper.onEnd (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/reporterV2.js:91:165) at /builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:51:56 at wrapAsync (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:79:18) at Multiplexer.onEnd (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/multiplexer.js:51:31) at TeleReporterReceiver._onEnd (/builds/XXXX/playwright/node_modules/playwright/lib/isomorphic/teleReceiver.js:199:159) at TeleReporterReceiver.dispatch (/builds/XXXX/playwright/node_modules/playwright/lib/isomorphic/teleReceiver.js:86:41) at dispatchEvents (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/merge.js:53:22) at createMergedReport (/builds/XXXX/playwright/node_modules/playwright/lib/reporters/merge.js:69:9) at mergeReports (/builds/XXXX/playwright/node_modules/playwright/lib/cli.js:181:3) at t.<anonymous> (/builds/XXXX/playwright/node_modules/playwright/lib/cli.js:95:7) finished building report

What Language are you using?

TypeScript

What Framework/Allure Integration you are using?

allure-playwright

What version of Allure Integration you are using?

2.26.0

What version of Allure Report you are using?

2.11.1

Code of Conduct

ck-singh commented 6 months ago

I had opened this bug in playwright repo and was advised to raise it in allure report.

baev commented 6 months ago

BTW, you don't need to use the merge-reports feature for Allure Report since Allure supports multiple results directories anyway:

$ allure generate path/to/first/allure-results path/to/second/allure-results --output aggregated-report

The second option would be to merge the contents of the allure-results folders. All the result files have UUIDv4 in their names, so there should be no conflicts.

baev commented 6 months ago

But anyway, supporting the merge-reports feature would be nice, so we'll look at it.