Coverage
Coverage gathers information about parts of JavaScript and CSS that were used by the page.
An example of using JavaScript coverage to produce Istanbul report for page load:
Coverage APIs are only supported on Chromium-based browsers.
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 = v8toIstanbul('', 0, { source: entry.source });
await converter.load();
converter.applyCoverage(entry.functions);
console.log(JSON.stringify(converter.toIstanbul()));
}
await browser.close();
})();
方法 (Methods)
startCSSCoverage
Added in: v1.11Returns coverage is started
使用方式
await coverage.startCSSCoverage();
await coverage.startCSSCoverage(options);
參數
optionsObject (optional)
傳回值
startJSCoverage
Added in: v1.11Returns coverage is started
Anonymous scripts are ones that don't have an associated url. These are scripts that are dynamically created on the page using eval or new Function. If reportAnonymousScripts is set to true, anonymous scripts will have __playwright_evaluation_script__ as their URL.
使用方式
await coverage.startJSCoverage();
await coverage.startJSCoverage(options);
參數
optionsObject (optional)
傳回值
stopCSSCoverage
Added in: v1.11Returns the array of coverage reports for all stylesheets
CSS Coverage doesn't include dynamically injected style tags without sourceURLs.
使用方式
await coverage.stopCSSCoverage();
傳回值
stopJSCoverage
Added in: v1.11Returns the array of coverage reports for all scripts
JavaScript Coverage doesn't include anonymous scripts by default. However, scripts with sourceURLs are reported.
使用方式
await coverage.stopJSCoverage();
傳回值