@htmlacademy/painter
v1.0.20
Published
Рендерит скриншоты и сравнивает их
Downloads
6
Readme
@htmlacademy/painter
Маляр Аристофан: «Сам выбирай колор и сам крась. А меня здесь нет!»
Задачи, которые должен решать этот пакет:
- Локализовать внутри себя изменения версии puppeteer
- Отрисовывать скриншоты
- Сравнивать скриншоты
Вся работа с puppeteer должна вестись исключительно через этот пакет.
API
- Запустить puppeteer:
const {launchBrowser} = require('@htmlacademy/painter');
const browser = await launchBrowser(); // опции для TRAVIS тоже должны быть учтены!
// Дальше идёт работа с объектами browser и page
- Отрисовать скриншот:
const {renderScreenshot} = require('@htmlacademy/painter');
/**
* @param {string} sourceUrl — путь, с которого будет загружаться документ
* @param {object} renderOptions
* @param {function} preload — асинхронная функция, обрабатывает объект `page` до page.goto()
* @param {function} prerender — асинхронная функци, обрабатывает объект `page` после загрузки но до рендера
*/
await renderScreenshot(sourceUrl, renderOptions, {preload, prerender});
2a. Возможен ещё такой вариант:
const {createScreenshotRenderer} = require('@htmlacademy/painter');
const renderer = await createScreenshotRenderer();
await renderer.render(sourceUrl1, renderOptions1, {preload, prerender});
await renderer.render(sourceUrl2, renderOptions2, {preload, prerender});
// ...
await renderer.close();
- Сравнить два скриншота:
const {getCompareScreenshots} = require('@htmlacademy/painter');
/**
* @param {string} pathToCompare — путь к исполняемому файлу compare
*/
const compareScreenshots = getCompareScreenshots(pathToCompare);
const {width, height, result} = await compareScreenshots(originPath, attemptPath);