From 149935dcbe4a92d657793b4c9826cb42bc997f0d Mon Sep 17 00:00:00 2001 From: Ruslan Strazhnyk Date: Fri, 10 Jul 2026 00:07:39 +0200 Subject: [PATCH] docs(demo): one-command self-healing demo + heal.gif hero MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add demo/ — a tiny local login page with a deliberately stale selector ('Sign In' vs the page's 'Sign in') and a one-command runner (heal.sh) that watches 9l heal fix it offline (Tier 1, no API key). Embed the recorded heal.gif as the README hero; record.sh regenerates it via asciinema + agg. Closes the demo half of QUA-1005. --- README.md | 4 ++++ demo/README.md | 31 +++++++++++++++++++++++++++++++ demo/heal.cast | 9 +++++++++ demo/heal.gif | Bin 0 -> 77321 bytes demo/heal.sh | 10 ++++++++++ demo/login.spec.js | 9 +++++++++ demo/record.sh | 21 +++++++++++++++++++++ demo/site/index.html | 20 ++++++++++++++++++++ 8 files changed, 104 insertions(+) create mode 100644 demo/README.md create mode 100644 demo/heal.cast create mode 100644 demo/heal.gif create mode 100755 demo/heal.sh create mode 100644 demo/login.spec.js create mode 100755 demo/record.sh create mode 100644 demo/site/index.html diff --git a/README.md b/README.md index ee19407..178ce80 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,10 @@ **Your tests have nine lives.** Self-healing QA for the coding-agent era, by [QualityMax](https://qualitymax.io). +![9lives healing a broken Playwright selector — offline, in seconds](demo/heal.gif) + +> A coding agent renamed a button, the test went red, `9l heal` read the live page, fixed the locator, re-ran it green, and showed the diff — no API key. [**Run the demo yourself →**](demo/) + Your coding agent shipped a change and your Playwright test went red? Don't rewrite it — resurrect it: ```bash diff --git a/demo/README.md b/demo/README.md new file mode 100644 index 0000000..afde46d --- /dev/null +++ b/demo/README.md @@ -0,0 +1,31 @@ +# 🐾 9lives demo — watch a test heal itself + +A coding agent renamed a button from **“Sign In”** to **“Sign in”**, and the +Playwright test went red. `9l heal` reads the live page, finds the element under +its new label, patches the spec, re-runs it green, and shows you the diff — all +**offline** (Tier 1, no API key). + +![9lives healing a broken selector](heal.gif) + +## Run it yourself (one command) + +```bash +pip install 9lives # or: uvx --from 9lives 9l ... +cd demo && ./heal.sh +``` + +`heal.sh` serves the tiny local page in [`site/`](site/index.html), then runs +`9l heal login.spec.js`. The spec ships **broken** on purpose: + +```js +await page.locator("text='Sign In'").click(); // page now says "Sign in" +``` + +You'll watch it become `text='Sign in'` and pass. `git checkout -- login.spec.js` +resets it to broken so you can run the demo again. + +## Regenerate the GIF + +```bash +./record.sh # asciinema + agg → heal.gif (deps: asciinema, agg, 9l, node) +``` diff --git a/demo/heal.cast b/demo/heal.cast new file mode 100644 index 0000000..1aa0570 --- /dev/null +++ b/demo/heal.cast @@ -0,0 +1,9 @@ +{"version":3,"term":{"cols":80,"rows":24},"timestamp":1783634686,"idle_time_limit":1.2,"command":"bash /var/folders/nk/63t416311tx1dg1p62835pjr0000gn/T/tmp.5p4eFse3jD","env":{"SHELL":"/bin/zsh"}} +[0.119, "o", "\u001b[38;5;213m$ \u001b[1;38;5;51m9l heal login.spec.js\u001b[0m\r\n\r\n"] +[1.203, "o", "🐾 run 1/3: login.spec.js …\r\n"] +[39.687, "o", " failure: locator_not_found (selector: text='Sign In') → tier1_auto\r\n"] +[0.003, "o", " tier1_auto: Replaced selector 'text='Sign In'' with 'text='Sign in'' (confidence 85%)\r\n"] +[0.000, "o", "🐾 run 2/3: login.spec.js …\r\n"] +[9.023, "o", "\r\n🐾 healed! (+1 / -1)\r\n\r\n--- a/login.spec.js\r\n+++ b/login.spec.js\r\n@@ -2,8 +2,8 @@\r\n \r\n // This test breaks the way real tests break: a coding agent tweaked the button\r\n // copy from \"Sign In\" to \"Sign in\", so this exact-text selector went stale.\r\n test('user can sign in', async ({ page }) => {\r\n await page.goto(process.env.DEMO_URL || 'http://localhost:8137');\r\n- await page.locator(\"text='Sign In'\").click(); // page now says \"Sign in\"\r\n+ await page.locator(\"text='Sign in'\").click(); // page now says \"Sign in\"\r\n await expect(page.locator('.ok')).toBeVisible();\r\n });\r\n\r\n"] +[0.000, "o", "🐾 applied. Your test came back to life.\r\n"] +[1.258, "x", "0"] diff --git a/demo/heal.gif b/demo/heal.gif new file mode 100644 index 0000000000000000000000000000000000000000..3b4fd2921d5aefc29f08a5cb6752813afd4b8c4f GIT binary patch literal 77321 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ψ4(fd__Bti`Mb)`#@VpG@71)?e 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/dev/null || true # reset to the "broken" state +python3 -m http.server 8137 --directory site >/dev/null 2>&1 & SRV=$! +trap 'kill "$SRV" 2>/dev/null || true' EXIT +sleep 1 +DEMO_URL="http://localhost:8137" 9l heal login.spec.js diff --git a/demo/login.spec.js b/demo/login.spec.js new file mode 100644 index 0000000..75481e0 --- /dev/null +++ b/demo/login.spec.js @@ -0,0 +1,9 @@ +const { test, expect } = require('@playwright/test'); + +// This test breaks the way real tests break: a coding agent tweaked the button +// copy from "Sign In" to "Sign in", so this exact-text selector went stale. +test('user can sign in', async ({ page }) => { + await page.goto(process.env.DEMO_URL || 'http://localhost:8137'); + await page.locator("text='Sign in'").click(); // page now says "Sign in" + await expect(page.locator('.ok')).toBeVisible(); +}); diff --git a/demo/record.sh b/demo/record.sh new file mode 100755 index 0000000..d996d70 --- /dev/null +++ b/demo/record.sh @@ -0,0 +1,21 @@ +#!/usr/bin/env bash +# Regenerate heal.gif from the demo using asciinema + agg. +# deps: asciinema, agg, 9l (or NINE="python3 -m ninelives.cli"), node +set -euo pipefail +cd "$(dirname "$0")" +NINE="${NINE:-9l}" +git checkout -- login.spec.js 2>/dev/null || true +python3 -m http.server 8137 --directory site >/dev/null 2>&1 & SRV=$! +trap 'kill "$SRV" 2>/dev/null || true' EXIT +sleep 1 +runner="$(mktemp)" +cat > "$runner" < + +Acme — Login + + +
+

Sign in to Acme

+ + + + +
✅ Signed in
+
+