Skip to content

Elastishot v0.1.0

Choose a tag to compare

@Osman19702 Osman19702 released this 14 Sep 19:42
· 42 commits to master since this release

First public release.

Added

  • Feature alignment with ORB keypoints and RANSAC, snapped to a similarity
    transform or to a whole-pixel shift, so zoomed, cropped and shifted
    captures line up before any pixel is compared.
  • Structural alignment: the page is cut into horizontal strips that are
    matched by sequence alignment, so inserted banners and collapsed sections
    become one region each instead of moving everything below them.
  • Region kinds added, removed, changed and moved, with move detection by
    template matching, a score per region and a box on both sides.
  • Element maps recorded by the Playwright capture adapter; every region is
    attributed to the smallest element covering it (test id, id, role and
    name, then a CSS path). Resized elements are reported from the maps.
  • Reports: a summary page, a page per pair with the embeddable
    <elastishot-viewer> web component (slider, flip, blink, overlay, diff),
    report.json (schema elastishot.report/1) and JUnit XML.
  • CLI: compare, snapshot, run, approve, report; a config file with
    targets and viewports; exit codes 0, 1 and 2 for CI.
  • Capture options for full-page screenshots, waits, hidden and masked
    selectors, a colour scheme and headers; captures record the HTTP status
    and title, and error pages raise a CAPTURE_ERROR_PAGE warning.
  • Node API (comparePair, createElastishot, loadConfig) and a plugin
    and reporter contract for embedding in larger tools.
  • Four test tiers: unit, engine, browser and Gherkin acceptance scenarios
    driving the built CLI; a UI lab with ground truth under examples/ui-lab.

Published to npm as elastishot@0.1.0 (npm install -D elastishot). The attached tarball is the one the registry serves; its checksum is in SHA256SUMS.