メインコンテンツにスキップ

Coverage

Coverage は、ページで使用された JavaScript および CSS の部分に関する情報を収集します。

JavaScript カバレッジを使用して、ページロードの Istanbul レポートを生成する例

注記

Coverage API は Chromium ベースのブラウザーでのみサポートされています。

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();
})();

メソッド

startCSSCoverage

v1.11 で追加 coverage.startCSSCoverage

カバレッジが開始されたことを返します

使用法

await coverage.startCSSCoverage();
await coverage.startCSSCoverage(options);

引数

  • options Object (オプション)
    • resetOnNavigation boolean (オプション)#

      ナビゲーションごとにカバレッジをリセットするかどうか。デフォルトは true です。

戻り値


startJSCoverage

v1.11 で追加 coverage.startJSCoverage

カバレッジが開始されたことを返します

注記

匿名スクリプトとは、関連付けられた URL を持たないスクリプトのことです。これらは、eval または new Function を使用してページ上で動的に作成されるスクリプトです。reportAnonymousScriptstrue に設定されている場合、匿名スクリプトの URL は __playwright_evaluation_script__ になります。

使用法

await coverage.startJSCoverage();
await coverage.startJSCoverage(options);

引数

  • options Object (オプション)
    • reportAnonymousScripts boolean (オプション)#

      ページによって生成された匿名スクリプトをレポートするかどうか。デフォルトは false です。

    • resetOnNavigation boolean (オプション)#

      ナビゲーションごとにカバレッジをリセットするかどうか。デフォルトは true です。

戻り値


stopCSSCoverage

v1.11 で追加 coverage.stopCSSCoverage

すべてのスタイルシートのカバレッジレポートの配列を返します

注記

CSS カバレッジには、sourceURL のない動的に挿入された style タグは含まれません。

使用法

await coverage.stopCSSCoverage();

戻り値

  • Promise<Array<Object>>#
    • url string

      スタイルシートの URL

    • text string (オプション)

      スタイルシートのコンテンツ(利用可能な場合)。

    • ranges Array<Object>

      • start number

        テキストの開始オフセット(包括的)

      • end number

        テキストの終了オフセット(排他的)

      使用されたスタイルシートの範囲。範囲はソートされ、重複していません。


stopJSCoverage

v1.11 で追加 coverage.stopJSCoverage

すべてのスクリプトのカバレッジレポートの配列を返します

注記

JavaScript カバレッジには、デフォルトでは匿名スクリプトは含まれません。ただし、sourceURL を持つスクリプトはレポートされます。

使用法

await coverage.stopJSCoverage();

戻り値