Socket
Socket
Sign inDemoInstall

@rpii/wdio-html-reporter-pdf

Package Overview
Dependencies
146
Maintainers
1
Versions
26
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @rpii/wdio-html-reporter-pdf

WebdriverIO report add on. Converts HTML formatted report to pdf


Version published
Weekly downloads
232
increased by18.97%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

wdio-html-reporter-pdf

Generate a pdf from an html-report.
Requires version 8.1.0 or later of wdio-html-nice-reporter to generate the html report

Lock the puppeteer version to prevent issues
Fixes to render a very large html file
Converted to ES Module
bug fix for expanding sections in new puppeteer

Updated for module compatibility with webdriver 8

Newest Features:
Upgrade: Set timeout to 0 to prevent timeouts
Upgrade: update puppeteer version.  
Upgrade: rewritten in typescript, update puppeteer.  

Installation

The easiest way is to keep the @rpii/wdio-html-reporter-pdf as a devDependency in your package.json:

{
  "devDependencies": {
    "@rpii/wdio-html-reporter-pdf": "~7.0.0"
  }
}

Updates

Updated version of puppeteer to get rid of issues.

Configuration

Add a file called make-pdf.ts in the root of the project.

There are difficulties in puppeteer if you try to integrate the code into wdio.conf.js.

The following code shows a simple way to add as a post build action. you can invoke it from a pipeline if you are using jenkins.


// babel version
const path = require("path") ;
const fs = require("fs-extra") ;

let printPdf = require('@rpii/wdio-html-reporter-pdf').default ;

(async () => {
    let args = process.argv.slice(2) ;
    let reportName = args[0] ? args[0] : "master-report";

    try {

        // need full paths
        let htmlReportFile = path.resolve(__dirname, 'reports/html-reports/' + reportName + '.html');
        let pdfFile = path.resolve(__dirname, 'reports/' + reportName + '.pdf');
        //for linux you will need these options
        let options = ['--no-sandbox', '--disable-gpu', '--disable-extensions'];
        await printPdf(htmlReportFile, pdfFile, options);
    } catch (ex)  {
        console.error(ex);
    }
})();
    

Add a line to your package.json under scripts

    "pdf": "node make-pdf.ts"

To use an already installed chrome: Add a line to your package.json under scripts

    "pdf-chrome-linux": "node make-pdf.ts /usr/bin/google-chrome"

Usage

Run after completing a build.

If you need to specify a path to chrome, that is the fourth parameter.

Keywords

FAQs

Last updated on 08 Mar 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc