This is a personal proof-of-concept project. It is not intended for production use. Please refrain from using it.
Skip to content

Quick test a URL

Upliftr is AI debugging agents that debug your live app: point them at a URL, describe the flow in plain English, and an agent drives a real browser to reproduce it and tell you which flows are broken, why, and, if you've wired up your logs, the backend error behind it. The agents are read-only by design: they investigate and diagnose, they never mutate your code, your data, or your infrastructure. A quick test is the fastest way to put an agent on a flow you're not sure about.

No suite file required.

The 60-second version

Hand an agent a single URL and plain-English steps, with no suite to author. From the CLI:

bash
cd backend
ANTHROPIC_API_KEY=sk-ant-... upliftr test-url \
  https://your-app.example.com/login \
  "Type your email and password; then click Sign in; then confirm you land on the dashboard"

Steps are split on newlines, ;, or the word then. The agent opens the URL in a real (headless) browser, lets Claude drive each step read-only, and prints the final URL, the page text, and which step (if any) broke.

The same thing lives in your editor via the MCP server, just ask:

"Use upliftr_test on https://your-app.example.com/login to log in with me@example.com / hunter2 and confirm it lands on the dashboard."

…and in the dashboard, where you can paste a URL and generate a whole suite, see URL → test generation.

Create tests from your URL

Don't want to write any steps? Let Upliftr crawl the page and propose a suite:

bash
curl -X POST http://127.0.0.1:8400/api/v1/generate \
  -H 'Content-Type: application/json' \
  -d '{"url": "https://your-app.example.com", "save_as": "quick-test"}'

It opens the URL headless, reads the structure (links, forms, buttons), crawls a level or two of same-origin links, and asks Claude to draft a plain-English suite covering the key flows. The result is canonical Upliftr YAML, saved to your suite repo and ready to run. Review it, then run it like any other suite.

The money shot: find the bug AND the backend reason

A passing quick test is reassuring. A failing one is where the agents earn their keep. When a flow breaks and the failing request carries a trace_id, the agent correlates it to your server logs with read-only access and Claude writes up the backend error, the suspected cause, and a suggested fix, then files it as a deduped ticket.

See it end-to-end against the bundled buggy app:

bash
# Terminal 1, a deliberately-buggy demo checkout
cd examples/sample-app && uvicorn app:app --port 8500

# Terminal 2, the agent drives it in plain English, root-causes the failure, files the ticket
backend/.venv/bin/python demo/break_demo_app.py

The demo uses the file log-backend (LOG_BACKEND=file, LOG_FILE_PATH=server.log) so a UI failure resolves to the exact backend line, a 500 with a GeoLookupError behind a silent currency bug. That's the difference between "a flow broke" and "here's the backend error, the cause, and the fix, filed for you." Other tools stop at "the UI broke"; the agents root-cause it to the exact backend line and file the fix.

What to do next

  • It works → save it as a check the agents re-run in CI, and reach it from your editor via MCP.
  • It broke → connect your server logs and a tracker so the next failure files itself, root-caused.
  • Turn the flows into checks the agents keep re-running → Writing Tests.

Upliftr · AI-native, self-healing E2E testing. Terms · Privacy · Legal Notice