@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);

/@htmlacademy/painter/

    Package Sidebar

    Install

    npm i @htmlacademy/painter

    Weekly Downloads

    11

    Version

    1.0.20

    License

    ISC

    Unpacked Size

    16.3 kB

    Total Files

    20

    Last publish

    Collaborators

    • andreychap
    • kaineer
    • nakleikoff
    • expa
    • kam4atka