(Created on )

Puppeteer: JSCoverage is already enabled

JS coverage is started while it is already enabled.


JS coverage is started while it is already enabled.

Error message

JSCoverage is already enabled

How this error happens

Coverage collection has an enabled/disabled lifecycle. Starting JS coverage twice without stopping it repeats an already-active operation.

The snippets use an open Chrome/CDP page named page.

await page.coverage.startJSCoverage();
await page.coverage.startJSCoverage();

How to fix

Start coverage once, perform the work, then stop it and read the result.

await page.coverage.startJSCoverage();

try {
    await page.setContent(
        "<style>p { color: red; }</style><p>Hello</p>"
    );
} finally {
    const coverage = await page.coverage.stopJSCoverage();

    console.log(coverage);
}

Things to keep in mind

Run the corrected sequence on a fresh page or after stopping the original collector. Starting again is not how you reset active coverage.

All Puppeteer errors

Keep Reading

Puppeteer Guides

All Guides →