JSPM

playwright-merge-summary-json-reports

1.0.4
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 8571
  • Score
    100M100P100Q145279F
  • License MIT

A package that will make it easy to merge summary.json files output from playwright customer reporter playwright-json-summary-reporter.

Package Exports

  • playwright-merge-summary-json-reports
  • playwright-merge-summary-json-reports/lib/src/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (playwright-merge-summary-json-reports) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

playwright-merge-summary-json-reports

npm (scoped)

This package works in tandem with:

The walk through found on https://playwrightsolutions.com.

The above package will generate a summary.json report after the Playwright run, while this package will combine multiple summary.json files into 1 file after a run with the --shard=x/x command.

Install

npm install playwright-merge-summary-json-reports --save-dev

Usage

Create a new file file in the appropriate directory

// lib/metrics/mergeReports.ts

import fs from "fs";
import path from "path";
import { mergeHTMLReports } from "playwright-merge-html-reports";
import { mergeSummary } from "playwright-merge-summary-json-reports";

const reportPathsToMerge = fs
  .readdirSync(process.cwd() + "/playwright-report", { withFileTypes: true })
  .filter((item) => item.isDirectory())
  .map(({ name }) => path.resolve(process.cwd() + "/playwright-report", name));

async function runReport(paths: string[]) {
  // merges the summary.json in each report-x folder and saves a summary.json to root directory
  await mergeSummary(paths);

  // merges html reports and saves to /html-report
  await mergeHTMLReports(paths, {
    outputFolderName: "html-report",
  });
}

runReport(reportPathsToMerge);

After a test run, where there is a folder /playwright-report with multiple sub-folders /report-1, /report-2/, etc. Running the command npx ts-node lib/metrics/mergeReports.ts will search through the folders for both html and json reports and combine them, and output the html report to html-report and the combined summary.json to the main directory.

If you found this helpful feel free to check out https://playwrightsolutions.com!