Suite E2E para WP local: pipeline 3-tier (Playwright → Gemma vision → Claude) en tools/e2e/ #55
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Objetivo
Tener una suite E2E que detecte regresiones visuales/funcionales en
feadulta(y luego ytsummaries, triptyk, joomla-php83…) gastando lo mínimo posible en tokens de Claude.Caso de uso reciente que motiva el issue: tras los fixes de #34 y #36 queremos validar que ~600 posts cargan correctamente sin abrir el navegador uno a uno y sin pasarle 600 screenshots a Claude.
Estrategia 3-tier
http://172.19.128.1:1234/v1)report.md(texto, no imágenes)Principio: los problemas reales (imagen rota, link 404, render fallido) son deterministas y los detecta Tier 1. El LLM solo aporta "¿se ve raro?" — y para eso pocas veces hace falta tirar de Claude.
Vision en local — confirmado
Probado contra
http://172.19.128.1:1234/v1congoogle/gemma-4-e4b(4B) pasando como input elPortadas/tolle.jpg. El modelo reconoce correctamente la imagen (describe a Eckhart Tolle por su apariencia). Tiempo: ~4s. Total tokens: ~485. Útil para Tier 2 sin coste de tokens Claude.Nota: el endpoint multimodal de LM Studio acepta el formato OpenAI estándar
messages[].content[].image_url.url = "data:image/jpeg;base64,...".Tier 1 — diseño
Script Node + Playwright (
tools/e2e/run.js) que para cada URL de una lista:console.erroryconsole.warningdocument.imagesy reporta las que tengannaturalWidth==0<title>, primer<h1>, count de palabras visiblesout/<slug>.pngGenera:
out/report.json— datos crudos, ~10-50 KBout/report.md— tabla legible para humano y Claudeout/<slug>.png— uno por URLTier 2 — diseño
Helper
tools/e2e/ask-vision.jsque recibe(screenshot_path, prompt)y devuelve texto plano via LM Studio (Gemma 4 vision). Se ejecuta:severity ≥ warnOutput texto se incrusta en
report.mdcomo bloque> vision: ....Suite inicial de URLs (feadulta)
/fea//fea/en//fea/fr//fea/it//fea/pt//fea/escuela//fea/carta-de-la-semana//fea/category/evangelios-y-comentarios//fea/autores//fea/el-apego-a-tus-puntos-de-vista-y-opiniones/URLs configurables en
tools/e2e/sites/feadulta.json. Otros sitios (ytsummaries.json,joomla-php83.json…) reutilizan el mismo runner.Plan de implementación
tools/e2e/skeleton (package.json mínimo, Playwright como dep)run.js— Tier 1ask-vision.js— Tier 2 helpersites/feadulta.json— suite inicialtools/e2e/+ página wikiE2E-Visual-TestingCriterio de aceptación
node tools/e2e/run.js feadultaejecuta la suite y generaout/report.md+ screenshotsnode tools/e2e/ask-vision.js out/post-tolle-44247.png "¿la imagen de Tolle se ve?"feadultadocumenta la herramienta en README y wiki