A fully automated, browser-driven smoke-testing agent that takes a URL, runs a deterministic 10-step flow in a real Chromium browser, and produces machine-readable and human-readable reports.
This is the foundation of a digital replica testing agent — a tool that can autonomously validate websites, capture errors, and interact with real pages without human supervision.
-
Runs 10 deterministic smoke tests in sequence:
- Load page + capture timings (TTFB, DOM, load)
- Capture console errors/warnings
- Check page title
- Check for visible
<h1> - Detect the first visible clickable element
- Click it + detect navigation/DOM changes
- Validate navigation health
- Detect presence of form fields
- Interact with form (type + submit)
- Final correctness check
-
Generates:
out/run.json— machine-readable structured resultsout/summary.txt— human summary
-
Clean exit codes:
0 = PASS1 = WARN2 = FAIL
-
CI workflow included (runs on GitHub Actions)
-
Zero configuration required
npm install
npx playwright install chromium⸻
npm start https://example.comOutputs are written to:
./out/run.json
./out/summary.txt
⸻
🧪 Sample Output
summary.txt
URL: https://example.com
step01_load PASS - Load page and collect basic timings step02_console PASS - Check browser console for errors step03_title PASS - Check page title exists step04_h1 PASS - Check for visible
step05_clickable PASS - Detect first visible clickable element step06_click PASS - Click first element and detect navigation/DOM change step07_navcheck PASS - Validate navigation after click step08_formfind SKIP - Detect presence of visible form fields step09_forminteract SKIP - Interact with first form field (type & submit) step10_correctness PASS - Final correctness check
run.json
(Excerpt)
{ "url": "https://example.com", "steps": [ { "id": "step01_load", "status": "PASS" }, { "id": "step02_console", "status": "PASS" }, { "id": "step03_title", "status": "PASS" }, { "id": "step04_h1", "status": "PASS" }, { "id": "step05_clickable", "status": "PASS" }, { "id": "step06_click", "status": "PASS" }, { "id": "step07_navcheck", "status": "PASS" }, { "id": "step08_formfind", "status": "SKIP" }, { "id": "step09_forminteract", "status": "SKIP" }, { "id": "step10_correctness", "status": "PASS" } ] }
⸻
🛠 GitHub Actions CI
This repository includes a CI workflow that runs the agent on push and publishes the test artifacts.
See: .github/workflows/agent-ci.yml
🎯 Use Cases • Autonomous UI smoke checks • Overnight monitoring • Pre-deploy validation • Competitive site audits • AI-driven QA agents • “Digital replica” testers for clients or teams
📄 License
MIT
Run a tiny Playwright-based agent that executes deterministic smoke steps against a single URL and writes two outputs: out/run.json and out/summary.txt.
Quickstart
- Install deps:
npm install - Install browsers:
npx playwright install - Run:
npm start https://example.com
Exit codes
0PASS1WARN2FAIL