@htmlacademy/painter

1.0.20 • Public • Published

@htmlacademy/painter

Маляр Аристофан: «Сам выбирай колор и сам крась. А меня здесь нет!»

Задачи, которые должен решать этот пакет:

  1. Локализовать внутри себя изменения версии puppeteer
  2. Отрисовывать скриншоты
  3. Сравнивать скриншоты

Вся работа с puppeteer должна вестись исключительно через этот пакет.

API

  1. Запустить puppeteer:
const {launchBrowser} = require('@htmlacademy/painter');
const browser = await launchBrowser(); // опции для TRAVIS тоже должны быть учтены!
// Дальше идёт работа с объектами browser и page
  1. Отрисовать скриншот:
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();
  1. Сравнить два скриншота:
const {getCompareScreenshots} = require('@htmlacademy/painter');

/**
 * @param {string} pathToCompare — путь к исполняемому файлу compare
 */
const compareScreenshots = getCompareScreenshots(pathToCompare);

const {width, height, result} = await compareScreenshots(originPath, attemptPath);

Package Sidebar

Install

npm i @htmlacademy/painter

Weekly Downloads

4

Version

1.0.20

License

ISC

Unpacked Size

16.3 kB

Total Files

20

Last publish

Collaborators

  • andreychap
  • kaineer
  • nakleikoff
  • expa
  • kam4atka