Skip to content

Autonomous browser-based smoke-testing agent. Runs a deterministic 10-step flow against any website and outputs JSON + human-readable reports. Powered by Playwright.

License

Notifications You must be signed in to change notification settings

jptrp/website-functional-testing-agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Website Functional Testing Agent

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.


⚡ Features

  • Runs 10 deterministic smoke tests in sequence:

    1. Load page + capture timings (TTFB, DOM, load)
    2. Capture console errors/warnings
    3. Check page title
    4. Check for visible <h1>
    5. Detect the first visible clickable element
    6. Click it + detect navigation/DOM changes
    7. Validate navigation health
    8. Detect presence of form fields
    9. Interact with form (type + submit)
    10. Final correctness check
  • Generates:

    • out/run.json — machine-readable structured results
    • out/summary.txt — human summary
  • Clean exit codes:

    • 0 = PASS
    • 1 = WARN
    • 2 = FAIL
  • CI workflow included (runs on GitHub Actions)

  • Zero configuration required


📦 Installation

npm install
npx playwright install chromium

▶️ Run the Agent

npm start https://example.com

Outputs 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

Website Functional Testing Agent (Minimal MVP)

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

  1. Install deps: npm install
  2. Install browsers: npx playwright install
  3. Run: npm start https://example.com

Exit codes

  • 0 PASS
  • 1 WARN
  • 2 FAIL

About

Autonomous browser-based smoke-testing agent. Runs a deterministic 10-step flow against any website and outputs JSON + human-readable reports. Powered by Playwright.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published