class: ChromiumCoverage
Coverage gathers information about parts of JavaScript and CSS that were used by the page.
An example of using JavaScript coverage to produce Istambul report for page load:
const { chromium } = require('playwright');
const v8toIstanbul = require('v8-to-istanbul');
(async() => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.coverage.startJSCoverage();
await page.goto('https://chromium.org');
const coverage = await page.coverage.stopJSCoverage();
for (const entry of coverage) {
const converter = new v8toIstanbul('', 0, { source: entry.source });
await converter.load();
converter.applyCoverage(entry.functions);
console.log(JSON.stringify(converter.toIstanbul()));
}
await browser.close();
})();
- chromiumCoverage.startCSSCoverage([options])
- chromiumCoverage.startJSCoverage([options])
- chromiumCoverage.stopCSSCoverage()
- chromiumCoverage.stopJSCoverage()
chromiumCoverage.startCSSCoverage([options])
options
<Object> Set of configurable options for coverageresetOnNavigation
<boolean> Whether to reset coverage on every navigation. Defaults totrue
.
- returns: <Promise> Promise that resolves when coverage is started
chromiumCoverage.startJSCoverage([options])
options
<Object> Set of configurable options for coverage- returns: <Promise> Promise that resolves when coverage is started
NOTE Anonymous scripts are ones that don’t have an associated url. These are scripts that are dynamically created on the page using
eval
ornew Function
. IfreportAnonymousScripts
is set totrue
, anonymous scripts will have__playwright_evaluation_script__
as their URL.
chromiumCoverage.stopCSSCoverage()
- returns: <Promise<Array<Object>>> Promise that resolves to the array of coverage reports for all stylesheets
NOTE CSS Coverage doesn’t include dynamically injected style tags without sourceURLs.
chromiumCoverage.stopJSCoverage()
- returns: <Promise<Array<Object>>> Promise that resolves to the array of coverage reports for all scripts
NOTE JavaScript Coverage doesn’t include anonymous scripts by default. However, scripts with sourceURLs are reported.