visual-regression-scanner
Nimmt jede Seite einer Sitemap auf und vergleicht sie Pixel für Pixel mit einer gespeicherten Referenz. Unterschiede fallen so auf, bevor sie jemand anderes bemerkt - mit Bildvorschau direkt im Terminal.
Screenshot-Vergleich für ganze Websites, bedienbar im Terminal.
Jede Seite der Sitemap wird aufgenommen und gegen die gespeicherte Referenz gehalten. Ab einer einstellbaren Schwelle gilt eine Seite als verändert - so schlägt nicht jede Schriftglättung Alarm.
Referenz, aktuelle Aufnahme und Unterschied lassen sich direkt umschalten - über Sixel beziehungsweise das Kitty-Protokoll, sonst aus Unicode-Halbblöcken, die überall darstellbar sind.
60 Seiten pro Minute, damit ein Lauf ein Produktivsystem nicht in die Knie zwingt. Über den Regler in den Einstellungen oder --rate-limit anpassbar.
Gesperrte Seiten aus der Sitemap werden übersprungen und im Protokoll ausgewiesen. Für eigene Testsysteme lässt sich die Prüfung abschalten.
Schwelle, Viewport, Drosselung und mehr bleiben gespeichert. Der Verlauf merkt sich geprüfte Sitemaps samt Ergebnis - Auswahl statt Abtippen.
Ergebnisse als JSON oder HTML, wahlweise automatisch beim Lauf. Für den genauen Blick öffnet eine Vergleichsansicht alle drei Bilder im Browser.
Alles ist über die Tastatur erreichbar; das Protokoll bietet zusätzlich ein Kontextmenü.
| Taste | Funktion |
|---|---|
u | Sitemap-URL eingeben |
c | Lauf starten |
s | Einstellungen |
h | Verlauf geprüfter Sitemaps |
r | Referenzbilder der Site zurücksetzen |
R | Berichte speichern |
o | Bilder im Browser vergleichen |
e | Nur Abweichungen anzeigen |
l | Protokoll ein- und ausblenden |
/ | Filter |
i | Info |
q | Beenden |
Die Technologien hinter dem Projekt.
Was ein Lauf auf dem Zielsystem anrichtet - und wer dafür geradesteht.
Für jeden Screenshot wird die Seite vollständig in einem echten Browser gerendert: Skripte, Schriften und Bilder werden geladen, der Aufruf läuft an den Zwischenspeichern des Servers vorbei. Bei Ganzseiten-Aufnahmen wird zusätzlich durch die komplette Seite gescrollt, damit nachgeladene Inhalte erscheinen. Eine Seite wiegt damit ein Vielfaches eines einfachen Abrufs - und ein Lauf fasst jede Seite der Sitemap an.
Deshalb ist der Scanner voreingestellt gedrosselt: 60 Seiten pro Minute.
--concurrency ist dabei kein Rate-Limit, sondern begrenzt nur, wie viele Browser-Tabs
gleichzeitig laufen.
Mit der Nutzung erklären Sie:
Die Software wird unentgeltlich und ohne jede Gewährleistung bereitgestellt ("as is"), wie in Abschnitt 7 der Apache-Lizenz 2.0 beschrieben. Eine Haftung des Autors (Michael Blaess) für Schäden, die aus der Nutzung entstehen, ist ausgeschlossen, soweit dies gesetzlich zulässig ist. Unberührt bleibt die Haftung für Vorsatz und grobe Fahrlässigkeit, für Schäden aus der Verletzung des Lebens, des Körpers oder der Gesundheit sowie nach dem Produkthaftungsgesetz.
Beim ersten Start fragt das Programm diesen Hinweis ab; ohne Zustimmung startet es nicht. Die Oberfläche gibt es vollständig auf Deutsch und Englisch, umschaltbar in den Einstellungen; beim allerersten Start entscheidet die Systemumgebung - Deutsch nur bei deutschsprachiger Umgebung, sonst Englisch.
Fertige Programmdateien pro Plattform oder aus dem Quellcode.