PhantomJsCloud Automation API
    Preparing search index...

    Class Coverage

    Coverage gathers information about parts of JavaScript and CSS that were used by the page.

    An example of using JavaScript and CSS coverage to get percentage of initially executed code:

    // 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;
    }
    page.meta.log(`Bytes used: ${usedBytes / totalBytes * 100}%`);

    Hierarchy

    • _PlatformObjBinding
      • Coverage
    Index
    • Parameters

      • options: StartCoverageOptions

        options <Object> Set of configurable options for coverage

        resetOnNavigation <boolean> Whether to reset coverage on every navigation. Defaults to true.

      Returns Promise<void>

      <Promise> Promise that resolves when coverage is started

    • options <Object> Set of configurable options for coverage

      • resetOnNavigation <boolean> Whether to reset coverage on every navigation. Defaults to true.
      • reportAnonymousScripts <boolean> Whether anonymous scripts generated by the page should be reported. Defaults to false.

      returns: <Promise> Promise that resolves when coverage is started

      NOTE 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 puppeteer_evaluation_script as their URL.

      Parameters

      Returns Promise<void>

    • returns: <Promise<Array{Object}>> Promise that resolves to the array of coverage reports for all stylesheets - url <string> StyleSheet URL - text <string> StyleSheet content - ranges Array{Object>> StyleSheet ranges that were used. Ranges are sorted and non-overlapping. - - start <number> A start offset in text, inclusive - - end <number> An end offset in text, exclusive

      NOTE CSS Coverage doesn't include dynamically injected style tags without sourceURLs.

      Returns Promise<CoverageEntry[]>

    • returns: <Promise<Array<Object>>> Promise that resolves to the array of coverage reports for all scripts

      • url <string> Script URL
      • text <string> Script content
      • ranges <Array<Object>> Script ranges that were executed. Ranges are sorted and non-overlapping. - start <number> A start offset in text, inclusive - end <number> An end offset in text, exclusive

      NOTE JavaScript Coverage doesn't include anonymous scripts by default. However, scripts with sourceURLs are reported. pjsc's own scripts on your page are never reported, also with reportAnonymousScripts.

      Returns Promise<CoverageEntry[]>