Рендерит скриншоты и сравнивает их
npm install @htmlacademy/painter@htmlacademy/painter
====================
> Маляр Аристофан: «Сам выбирай колор и сам крась. А меня здесь нет!»
Задачи, которые должен решать этот пакет:
1. Локализовать внутри себя изменения версии puppeteer
2. Отрисовывать скриншоты
3. Сравнивать скриншоты
Вся работа с puppeteer должна вестись исключительно через этот пакет.
API
---
1. Запустить puppeteer:
``javascript`
const {launchBrowser} = require('@htmlacademy/painter');
const browser = await launchBrowser(); // опции для TRAVIS тоже должны быть учтены!
// Дальше идёт работа с объектами browser и page
2. Отрисовать скриншот:
`javascript
const {renderScreenshot} = require('@htmlacademy/painter');
/**
* @param {string} sourceUrl — путь, с которого будет загружаться документ
* @param {object} renderOptions
* @param {function} preload — асинхронная функция, обрабатывает объект page до page.goto()page
* @param {function} prerender — асинхронная функци, обрабатывает объект после загрузки но до рендера`
*/
await renderScreenshot(sourceUrl, renderOptions, {preload, prerender});
2a. Возможен ещё такой вариант:
`javascript
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();
`
3. Сравнить два скриншота:
`javascript
const {getCompareScreenshots} = require('@htmlacademy/painter');
/**
* @param {string} pathToCompare — путь к исполняемому файлу compare
*/
const compareScreenshots = getCompareScreenshots(pathToCompare);
const {width, height, result} = await compareScreenshots(originPath, attemptPath);
``