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Возвращает, что покрытие начато.
Использование
await coverage.startCSSCoverage();
await coverage.startCSSCoverage(options);
Аргументы
options
Object (необязательно)
Возвращает
startJSCoverage
Добавлено в: v1.11Возвращает, что покрытие начато.
Анонимные скрипты — это те, которые не имеют связанного URL. Это скрипты, которые динамически создаются на странице с помощью eval
или new Function
. Если reportAnonymousScripts установлено в true
, анонимные скрипты будут иметь __playwright_evaluation_script__
в качестве своего URL.
Использование
await coverage.startJSCoverage();
await coverage.startJSCoverage(options);
Аргументы
options
Object (необязательно)
Возвращает
stopCSSCoverage
Добавлено в: v1.11Возвращает массив отчетов о покрытии для всех таблиц стилей.
CSS-покрытие не включает динамически внедренные теги стилей без sourceURLs.
Использование
await coverage.stopCSSCoverage();
Возвращает
- Promise<Array<Object>>#
stopJSCoverage
Добавлено в: v1.11Возвращает массив отчетов о покрытии для всех скриптов.
JavaScript-покрытие по умолчанию не включает анонимные скрипты. Однако скрипты с sourceURLs сообщаются.
Использование
await coverage.stopJSCoverage();
Возвращает