← Alle berichten
16 feb 2026Matías Aguirre

@matware/e2e-runner 1.1.0: Realtime Dashboard, Issue-to-Test en Screenshot Hashes

De grootste release tot nu toe van onze JSON-driven E2E test runner. Compleet web dashboard, automatische bugverificatie vanuit GitHub issues, screenshot hashes voor AI debugging en veel meer.

e2e-runnertestingmcpclaude-codedashboardopen-source
E2E Runner 1.1.0 realtime dashboard met live testuitvoering
E2E Runner 1.1.0 realtime dashboard met live testuitvoering

Versie 1.1.0 van @matware/e2e-runner is uit. Het is de grootste update sinds de eerste release — een realtime web dashboard, automatische bugverificatie vanuit GitHub/GitLab issues, en screenshot hashes die visuele output verbinden met AI-debugging. Alles blijft JSON-driven, zero-config standaard.

Realtime Web Dashboard

De hoofdfunctie. Een complete dark-themed SPA die je volledige zichtbaarheid en controle geeft over je testruns — zonder extra configuratie.

npx @matware/e2e-runner dashboard

Open http://localhost:8484 en je bent er.

Live Uitvoering

Bekijk tests in realtime. Elke actie — goto, wait, click, evaluate — streamt via WebSocket met individuele duurtijden. Pass/fail-tellers worden live bijgewerkt.

Live testuitvoering met realtime step-updates en pass/fail-tellers Live-weergave tijdens testuitvoering: steps streamen in realtime met individuele duurtijden, pass/fail-tellers worden direct bijgewerkt.

Test Suites

Al je test suites georganiseerd per project. Klik op “Run Suite” op elke card of “Run All Tests” om alles uit te voeren.

Test suites grid georganiseerd per project met Run Suite knoppen Suites-weergave: cards georganiseerd per project, elk met een Run Suite knop.

Een pass rate trendgrafiek en een gedetailleerde tabel van alle runs over projecten heen. Kleurgecodeerde percentages maken het makkelijk om regressies te spotten.

Uitvoergeschiedenis met pass rate trendgrafiek en gedetailleerde tabel Runs-weergave: pass rate trendgrafiek en uitvoergeschiedenis over alle projecten.

Run Detail

Klap elke run open om individuele tests te zien met pass/fail badges, duurtijden, screenshots met klikbare hash badges, en geformateerde consolfouten.

Run detail met testresultaten, screenshot hash badges en consolefouten Run detail: uitgevouwen test met PASS badge, screenshot thumbnail met klikbare hash badge ss:77c28b5a.

Screenshot Galerij

Een grid-galerij van alle screenshots vastgelegd tijdens testruns, georganiseerd per project.

Screenshot galerij met grid van testscreenshots Screenshots-weergave: visuele galerij van alle captures voor het geselecteerde project.

Multi-Project Ondersteuning

Het dashboard verwerkt meerdere projecten tegelijk. Elk project wordt geidentificeerd door zijn werkdirectory (cwd) met een configureerbare weergavenaam.

Multi-project weergave met suites van verschillende projecten en poolstatus Multi-project: suites van verschillende projecten in aparte secties, poolstatus in de footer.

# Via CLI flag
e2e-runner dashboard --project-name "Mijn App"

# Via omgevingsvariabele
PROJECT_NAME="Mijn App" e2e-runner dashboard

# Via e2e-runner.config.json
{ "projectName": "Mijn App" }

Het dashboard is ook beschikbaar als MCP-tools: e2e_dashboard_start en e2e_dashboard_stop.

Issue-to-Test: Van Bug Report naar E2E Test Automatisch

Converteer GitHub- en GitLab-issues naar uitvoerbare E2E-tests. Ondersteunt github.com en GitLab (inclusief self-hosted), detecteert de provider automatisch vanuit de URL.

Twee operatiemodi:

Prompt Modus (standaard, geen API key nodig)

De MCP-tool e2e_issue haalt de issue-details op (titel, body, labels, reacties) en retourneert een gestructureerd prompt. Claude Code gebruikt dat prompt om tests te maken met e2e_create_test en ze uit te voeren met e2e_run. De flow wordt volledig georkestreerd door de AI.

Verify Modus (vereist ANTHROPIC_API_KEY)

Roept de Claude API direct aan om tests te genereren, voert ze automatisch uit en rapporteert of de bug bevestigd is of niet reproduceerbaar. De logica: gegenereerde tests verifieren het correcte gedrag, dus als ze falen = bug bevestigd, als ze slagen = niet reproduceerbaar.

# Issue details tonen
e2e-runner issue https://github.com/org/repo/issues/42

# Test file genereren via Claude API
e2e-runner issue https://github.com/org/repo/issues/42 --generate

# Genereren + uitvoeren + bugstatus rapporteren
e2e-runner issue https://github.com/org/repo/issues/42 --verify

# Prompt als JSON outputten (voor piping)
e2e-runner issue https://github.com/org/repo/issues/42 --prompt

Authenticatie: Gebruikt gh CLI voor GitHub en glab CLI voor GitLab. Alle externe commando’s gebruiken execFileSync (geen shell injection). Geen nieuwe dependencies.

Screenshot Hashes: Van Dashboard naar Claude Code in Een Klik

Elke screenshot die tijdens een testrun wordt gemaakt krijgt een kort, deterministisch hash-identificatie zoals ss:a3f2b1c9.

Deze hashes verschijnen als klikbare badges door het hele dashboard. Klik op de badge en ss:a3f2b1c9 wordt naar je klembord gekopieerd.

Plak het vervolgens in Claude Code. De e2e_screenshot MCP-tool lost de hash op, leest het bestand van schijf en retourneert de daadwerkelijke afbeelding — geen bestandspaden, geen giswerk.

# In Claude Code, plak gewoon de hash
ss:a3f2b1c9
# → Claude ziet de screenshot en kan erover redeneren

Hoe het werkt: De hash bestaat uit de eerste 8 hex tekens van de SHA-256 van het absolute pad. Identiek berekend op server (Node crypto) en browser (Web Crypto API), dus hashes verschijnen in de Live-weergave voordat de run zelfs naar SQLite is geschreven.

Wanneer saveRun() resultaten schrijft, registreert het elke hash in de screenshot_hashes-tabel binnen dezelfde transactie. De run detail API bevat een screenshotHashes-map per test, en /api/screenshot-hash/:hash serveert afbeeldingen per hash.

Dit sluit de cirkel tussen visuele testuitvoer en AI-ondersteund debuggen.

SQLite Persistentie

Elke testrun wordt opgeslagen in een centrale SQLite database op ~/.e2e-runner/dashboard.db. WAL-modus voor gelijktijdige toegang, dual-write naar filesystem (JSON) en SQLite voor achterwaartse compatibiliteit.

Tabellen: projects, runs, test_results, screenshot_hashes met foreign keys en indices.

REST API:

  • GET /api/db/projects — lijst alle geregistreerde projecten
  • GET /api/db/projects/:id/runs — runs voor een specifiek project
  • GET /api/db/runs/:id — volledig detail van een enkele run

Pool-Aware Wachtrij

Voor v1.1.0 veroorzaakte het lanceren van meer tests dan het Chrome pool aankon opgestapelde verbindingen, geheugendruk en SIGKILL van Chrome-processen.

Nu controleert elke worker het /pressure endpoint van het pool voordat een verbinding wordt geopend. Als het pool op capaciteit zit, wacht de worker (polling elke 2s, tot 60s) tot er een slot vrijkomt.

Live Voortgangsgebeurtenissen

Gestructureerde gebeurtenissen via een onProgress callback-systeem:

GebeurtenisWanneer
run:startRun begint (totaal tests, concurrency, project)
test:startIndividuele test start
test:actionElke actie voltooid (succes/fout, duur)
test:retryGefaalde test wordt opnieuw geprobeerd
test:completeTest eindigt met resultaat
run:completeSamenvatting met passed/failed aantallen

Gebeurtenissen voeden de realtime updates van het dashboard via WebSocket, met buffer voor herverbindingen.

Nieuwe navigate Actie

Voor SPA’s waar client-side routing geen traditionele paginaladingsgebeurtenissen triggert:

{
  "type": "navigate",
  "value": "/dashboard/settings"
}

Gebruikt een race-patroon met 5-seconden timeout. Ondersteunt absolute URL’s en relatieve paden.

MCP Server: 8 Tools via stdio + HTTP

De MCP-integratie kreeg een significante upgrade. Tool-definities zitten in een gedeelde module, en het dashboard stelt dezelfde tools beschikbaar via Streamable HTTP op /mcp.

ToolBeschrijving
e2e_runTests uitvoeren (alle, suite, of bestand)
e2e_listBeschikbare test suites lijsten
e2e_create_testNieuw testbestand aanmaken
e2e_pool_statusChrome pool status controleren
e2e_screenshotScreenshot ophalen via hash
e2e_dashboard_startDashboard starten
e2e_dashboard_stopDashboard stoppen
e2e_issueIssue naar E2E test converteren

Quick Start

# One-liner: installeert, scaffolds, start pool, draait sample tests
curl -fsSL https://raw.githubusercontent.com/fastslack/mtw-e2e-runner/main/scripts/quickstart.sh | bash

Of stap voor stap:

npm install -g @matware/e2e-runner
e2e-runner run --all
e2e-runner dashboard

Breaking Changes

Geen. Alles is achterwaarts compatibel. De enige nieuwe runtime dependency is better-sqlite3.


Bekijk de GitHub repo voor volledige documentatie en het npm pakket voor installatiedetails.

@matware/e2e-runner blijft JSON-driven, zero-config standaard, en geeft je nu een realtime dashboard, automatische bugverificatie vanuit issues, en AI-aangedreven screenshot debugging — allemaal met eersteklas Claude Code integratie via MCP.

Delen
Volgende stap

Klaar om Uw Project te Starten?

Laten we bespreken hoe technologie uw organisatie kan transformeren. Wij bieden technische consultaties en maatwerkoplossingen afgestemd op institutionele vereisten. Plan een vrijblijvend strategisch gesprek.

Neem contact op
Gratis consultatieVrijblijvendSnelle reactie