v2.2.0 Latest · 757 tests passing · 100% local · sin IA · sin nube

Cuando un selector
se rompe, Healify
te dice cómo.

No más tests flaky por un data-testid que cambió. Corre offline, lee tu DOM real y te da el selector que sí funciona.

npm i -D @healify/cli ↗
$ npx @healify/cli init
healify-report.html · offline · 12ms
$ npx playwright test
✗ FAIL checkout.spec.ts:42:11
locator.click: [data-testid="submit-btn"] → not found
✔ Healify 1,248 nodes · no network
→ 1 stable alternative found
Fix sugerido · 94% confianza
El botón cambió a texto visible. Usá role + name.
page.getByRole('button', {name: 'Guardar'})
was: [data-testid="submit-btn"]auto-healable
0 datos enviados12ms localMIT
Funciona con Playwright Cypress Selenium WebdriverIO 0 datos fuera de tu máquina
Cómo funciona

Tres pasos.
Cero magia.

No adivina. Lee tu DOM real y te da el selector que pasa.

01 / CAPTURA

Corre tu suite normal

Instalás el reporter. Si un locator falla, Healify captura DOM + metadata. Sin cambiar CI.

02 / ANÁLISIS

Analiza 100% offline

Recorre roles ARIA, texto, estructura. Rankea por estabilidad. Sin IA, sin nube.

03 / FIX

Copiá y pegá

Abrís healify-report.html. Ves antes/después y copiás el selector que funciona.

100% Local

Ningún dato sale. Sin API key, sin cuenta, sin tracking.

12ms

Análisis de 1k+ nodos en milisegundos, sin dependencias.

ARIA-first

Prioriza getByRole, texto visible y roles. Selectores estables.

Sin IA

Heurística determinista. Mismo input, mismo output.

Reporte HTML

healify-report.html con diff visual y fix copiable.

MIT

Open source, sin vendor lock-in. Tuyo para siempre.

Shadow DOM & iframes

Ve dentro de web components y frames. Te dice a qué frame entrar.

Page Objects

Si el selector vive en pages/, fix lo encuentra y lo arregla ahí.

Umbrales tuyos

minConfidence, healEnabled y más, por config o env var.

Ecosistema @healify/*

Mismo reporte, misma DX. Elegí tu runner.

@healify/reporter-corecore

Core compartido: healing engine, audit y reports. Base de todos los runners.

npm i -D @healify/reporter-core
@healify/test-runnerPlaywright

Reporter. Genera healify-report.html al fallar.

npm i -D @healify/test-runner
@healify/cypress-pluginCypress

Plugin. Soporte cy.get + Testing Library.

npm i -D @healify/cypress-plugin
@healify/selenium-pluginSelenium

Wrapper WebDriver. Cura en vivo.

npm i -D @healify/selenium-plugin
@healify/webdriverio-pluginWebdriverIO

Wrapper v8+. Auto-heal opcional en dev, solo reporte en CI.

npm i -D @healify/webdriverio-plugin
@healify/ai-localAI Local

IA local opcional. Todo offline, sin nube, sin cuenta.

npm i -D @healify/ai-local
@healify/cliCLI · core

doctor · init · fix · history. El cerebro local.

npm i -D @healify/cli

Documentación

Todo vive en el repo, en markdown, sin cuenta ni login. Si venís de cero, empezá por Instalación — son dos minutos.

Empezar

Instalación

El snippet para tu runner: Playwright, Cypress, Selenium o WebdriverIO. Es lo único que hay que agregar.

Empezar

Comandos

doctor, fix, dashboard, flake, watch. Todo el CLI, y nada de esto manda datos a ningún lado.

Afinar

Configuración

Umbrales de confianza, apagar el sanado, test-ids propios. Opcional: anda sin configurar nada.

Afinar

Reportes y dashboard

El HTML que le pasás al equipo, el histórico de curaciones y la detección de tests flaky.

Integrar

GitHub Action

Que comente los selectores rotos en cada PR. Nunca modifica archivos.

Integrar

Jira / webhook

Los defectos entran a tu backlog con evidencia. Opt-in, apagado por default, tus credenciales.

Ejemplos que se corren

No son snippets: son proyectos completos. CI los ejecuta contra un browser real en cada commit, así que si dejan de funcionar nos enteramos.

Ejemplo

Playwright + Page Objects

El selector vive en pages/, no en el test. Healify lo encuentra igual y te dice dónde lo tocó.

Ejemplo

Cypress + Shadow DOM

El botón está dentro de un web component, donde querySelector devuelve cero. El test pasa igual.

Research

Los 15 competidores

El análisis que se hizo antes de escribir una línea, y qué le faltaba a Healify frente a cada uno.

Ver toda la documentación ↗

Corré tu suite.
Cuando algo se rompa, Healify ya va a estar ahí.

npx @healify/cli@latest ↗
MIT · 100% local · 0 tracking · Rosario, AR