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

Coverage

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

JavaScriptカバレッジを使用して、ページ読み込みのためのIstanbulレポートを生成する例

カバレッジ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 (optional)
    • resetOnNavigation boolean (オプション)#

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

戻り値


startJSCoverage

追加されたバージョン: v1.11 coverage.startJSCoverage

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

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

使用法

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

引数

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

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

    • resetOnNavigation boolean (オプション)#

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

戻り値


stopCSSCoverage

追加されたバージョン: v1.11 coverage.stopCSSCoverage

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

CSSカバレッジには、sourceURLなしで動的に挿入されたスタイルタグは含まれません。

使用法

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

戻り値