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

Coverage

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

ページロード時にIstanbulレポートを作成するためにJavaScriptカバレッジを使用する例

注釈

カバレッジ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のない動的に挿入されたスタイルタグは含まれません。

使用法

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

戻り値