@matware/e2e-runner 1.5.0: tests más livianos y dashboard en vivo renovado
select_combobox, wait gone y módulos anidados eliminan los bloques evaluate. Más una vista LIVE rediseñada con filmstrip, auto-follow y dark-mode WCAG AA.


La versión 1.5.0 de @matware/e2e-runner ataca el punto que más duele cuando escribís tests E2E declarativos: esos componentes “difíciles” (autocompletes de MUI, modales, spinners) que terminaban forzándote a meter un bloque evaluate con JavaScript a mano. Ahora esos casos son una sola acción. Y mientras corren, el dashboard te los muestra en vivo mejor que nunca.
Tests más livianos
El gran cambio son las acciones nuevas que reemplazan código imperativo por intención declarativa:
select_combobox: abre un MUI Autocomplete/Select, filtra y elige la opción en una sola acción.clickconscope:"dialog",visible:true,last:true: clic por texto dentro de un modal, sin pelear con selectores ambiguos.waitcongone: espera a que un elemento desaparezca (un spinner, un backdrop) en lugar de unsleepfijo. Esto solo ya elimina una de las mayores fuentes de flakiness.type_reactconblurywaitAfter: para inputs controlados por React que necesitan disparar validación al perder el foco.- Módulos anidados: un módulo puede componer otros módulos y forwardear sus parámetros, así dejás de copiar y pegar secuencias.
El antes y el después habla solo. Seleccionar un país en un autocomplete pasaba de esto:
{
"action": "evaluate",
"script": "const i=document.querySelector('#pais');i.focus();i.value='Arg';i.dispatchEvent(new Event('input',{bubbles:true}));await new Promise(r=>setTimeout(r,800));[...document.querySelectorAll('.MuiAutocomplete-option')].find(o=>o.textContent.includes('Argentina')).click();"
}
a esto:
{ "action": "select_combobox", "selector": "#pais", "filter": "Arg", "option": "Argentina" },
{ "action": "wait", "gone": ".MuiBackdrop-root" }
Menos líneas, sin setTimeout mágicos y, sobre todo, sin esperas a ciegas: el wait gone sincroniza contra el estado real del DOM.
Dashboard en vivo renovado
La vista LIVE se rediseñó de cero. El feed de screenshots ahora va arriba en horizontal, con un filmstrip de los últimos frames en slots fijos para que la pantalla no salte. Suma auto-follow del test en ejecución (con selector manual si querés fijar otro) y clic para agrandar cualquier captura.
En la pestaña Screenshots apareció el escaneo Find blank, que detecta y borra capturas en blanco para que no ensucien tus reportes. Y sí, hay favicon nuevo: el monograma E².
Calidad de vida
- Contraste dark-mode WCAG AA en toda la interfaz.
- El color de acento (cyan) quedó desacoplado del verde de PASS, así no confundís “seleccionado” con “aprobado”.
- Tipografía más legible y persistencia de la selección de proyecto entre recargas.
Cómo actualizar
npm i @matware/e2e-runner@1.5.0
El detalle completo está en el CHANGELOG. Si venís de una versión vieja, empezá por reemplazar tus evaluate de comboboxes y tus sleep por select_combobox y wait gone: es el cambio de menor esfuerzo y mayor impacto en estabilidad.