Zum Inhalt springen
Philippos MelikidisRegion Stuttgart, Oktober 2026

2026 · Open Source

flakeproof

Wenn die CI rot wird, sagt flakeproof, ob die App kaputt ist oder nur der Test.

Das Problem

Eine End-to-End-Suite kann auf zwei Arten versagen. Blinde Tests bleiben grün, obwohl etwas Echtes kaputt ist, fragile Tests werden rot, weil sich ein Klassenname geändert hat. Beides heißt dann „flaky", und jeder rote Build wird zum Ratespiel.

Was ich gebaut habe

Ein Werkzeug, das die getestete Seite absichtlich verändert und beobachtet, wie die Tests reagieren. Bedeutsame Änderungen, etwa ein anderer Button-Text, müssen einen guten Test rot machen. Kosmetische, etwa eine umbenannte Klasse oder ein zusätzlicher Wrapper, dürfen das nicht, genauso wenig ein Element, das 800 ms später erscheint. Schlägt die CI fehl, vergleicht flakeproof den fehlgeschlagenen Selektor mit einer Baseline und fällt ein Urteil.

Was dabei herauskam

Vier Urteile statt Schulterzucken, echte Änderung, fragil, nicht deterministisch oder unklar. Für fragile Selektoren beweist es einen besseren, statt einen zu raten, und wenn die Lage unklar ist, sagt es das.

Gebaut mit

Node.js, Playwright, funktioniert mit Playwright, Robot Framework, Cypress, Selenium und Puppeteer

Quellcode auf GitHub

← Alle Arbeiten