const pti = require('puppeteer-to-istanbul') const puppeteer = require('puppeteer'); var fs = require('fs'); var util = require('util'); var logFile = fs.createWriteStream('log.txt', { flags: 'w' }); // Or 'w' to truncate the file every time the process starts. var logStdout = process.stdout; console.log = function () { logFile.write(util.format.apply(null, arguments) + '\n'); logStdout.write(util.format.apply(null, arguments) + '\n'); } console.error = console.log; (async () => { const browser = await puppeteer.launch({args: ['--no-proxy-server', '--no-sandbox', '--disable-setuid-sandbox']}); const page = await browser.newPage(); page.on('console', async function (msg) { var text = msg.text(); if (text.startsWith('[test-result]')) { console.log('==[TESTING-ENDS]==') const details = JSON.parse(text.replace('[test-result]', '')) console.log(details) const jsCoverage = await page.coverage.stopJSCoverage(); pti.write(jsCoverage, { includeHostname: true , storagePath: './.nyc_output' }) await browser.close() } else { console.log(msg.text()) } }); await page.coverage.startJSCoverage(); await page.goto('http://127.0.0.1:3000/test'); })()