Coverage 類別
Coverage 類別提供方法來收集有關頁面使用的 JavaScript 和 CSS 部分的資訊。
簽名
export declare class Coverage
備註
若要以 Istanbul 可用的形式輸出覆蓋率,請參閱 puppeteer-to-istanbul。
此類別的建構子標記為內部。第三方程式碼不應直接呼叫建構子或建立擴展 Coverage
類別的子類別。
範例
使用 JavaScript 和 CSS 覆蓋率來取得初始執行程式碼百分比的範例
// Enable both JavaScript and CSS coverage
await Promise.all([
page.coverage.startJSCoverage(),
page.coverage.startCSSCoverage(),
]);
// Navigate to page
await page.goto('https://example.com');
// Disable both JavaScript and CSS coverage
const [jsCoverage, cssCoverage] = await Promise.all([
page.coverage.stopJSCoverage(),
page.coverage.stopCSSCoverage(),
]);
let totalBytes = 0;
let usedBytes = 0;
const coverage = [...jsCoverage, ...cssCoverage];
for (const entry of coverage) {
totalBytes += entry.text.length;
for (const range of entry.ranges) usedBytes += range.end - range.start - 1;
}
console.log(`Bytes used: ${(usedBytes / totalBytes) * 100}%`);
方法
方法 | 修飾符 | 描述 |
---|---|---|
startCSSCoverage(options) | ||
startJSCoverage(options) | 備註 匿名腳本是指沒有相關 URL 的腳本。這些是使用 | |
stopCSSCoverage() | Promise 會解析為所有樣式表覆蓋率報告的陣列。 備註 CSS 覆蓋率不包括沒有 sourceURL 的動態注入樣式標籤。 | |
stopJSCoverage() | Promise 會解析為所有腳本覆蓋率報告的陣列。 備註 JavaScript 覆蓋率預設不包括匿名腳本。但是,會報告具有 sourceURL 的腳本。 |