Use case

Run a smoke test on a deploy in about a minute

Breadth, not depth: is this deploy fundamentally working?

The short answer

A smoke test answers one question after a deploy: is the site fundamentally working? Load the page, click through the main navigation, and look for broken links, layout breakage, console errors and failed requests. ZeusQA runs that as a single prompt in about a minute and returns a pass, fail or blocked verdict with evidence.

What belongs in a smoke test

Breadth over depth. A smoke test touches many things shallowly to prove nothing is catastrophically broken. If it takes longer than a couple of minutes, it has stopped being a smoke test and become a regression suite.

  • The page renders at all, and the primary call to action is present.
  • Main navigation goes where it says it goes.
  • Nothing 404s or redirects somewhere unexpected.
  • The console is clean, and no request came back 4xx or 5xx.

The prompt

Prompt
Open the page, verify it renders correctly, click through the main navigation, and report broken links, layout problems, console errors and failed network requests.

Two narrower variants worth keeping around:

Links and 404s
Collect every link in the main navigation and footer with computer.elements(), open each one, and report any that 404, redirect somewhere unexpected, or come back with console errors. Come back to the start page between links.
Diagnostics only
Load the page, wait for it to settle, scroll to the bottom and back. Then report everything computer.diagnostics() found: console errors, uncaught page errors and failed or 4xx/5xx requests, with the URL of each failing request.

Pass, fail and blocked are three different answers

  • Pass — every named check was answered and passed.
  • Fail — a check was answered and did not pass.
  • Blocked — the run could not reach a state where the check was answerable: a login wall, a geo-block, a bot challenge. That is information, not a failure, and it is reported separately so it does not pollute your pass rate.

What a script would have missed

A page that renders perfectly while the console fills with exceptions and /api/profile quietly returns 404. Every run collects console errors, uncaught page errors and failed responses whether or not the prompt asked for them, so this surfaces as a finding rather than as a mystery three weeks later.

Settings that matter

  • Model — a fast model (Claude Haiku 4.5, GPT-5.6 Luna) is fine for a flow you run often. Reach for a deeper model when a run keeps getting stuck on the same step.
  • Devices — laptop is enough for a first pass. Add phone when the flow is mostly used on mobile.
  • Step budget — 30 scripts covers most flows. Raise it for long, multi-page journeys.
  • Reasoning effort — passed straight through to the model. Higher effort costs more and thinks longer before acting.

What the report gives you

  • A verdict: pass, fail or blocked.
  • Named checks, each marked passed or not, so you can see what was actually asserted.
  • Findings rated critical, high, medium, low or info, with the evidence behind each one.
  • A screenshot for every step, plus a session video on Pro and Team when you turn recording on.
  • Console errors, uncaught page errors and failed or 4xx/5xx requests, collected automatically.
  • Passive security findings from the responses the run loaded: headers, cookies, mixed content, open redirects, source maps, leaked secrets and stack traces.

What this does not cover

Worth knowing before you point it at something important.

  • Schedules run at most once an hour, on Pro and Team. This is not minute-level uptime monitoring.
  • No CLI. A run starts from the app, a schedule, or a pull request through the GitHub App.
  • Alerts are email only. For paging or a status page, use a monitoring tool alongside this.

Questions

Can I run this automatically after every deploy?

Yes, when deploys come from pull requests with a preview URL: the GitHub App runs the test on each one and comments with the verdict. On Pro and Team you can also schedule it hourly, daily, on weekdays or weekly.

How long does a smoke test take?

The worked example on our home page finished in 46 seconds over six scripts, with 8 of 8 checks passing. Longer flows and slower models take longer.

What is the difference between fail and blocked?

Fail means a check did not pass. Blocked means the run could not get far enough to answer the check, for example behind a login or a bot challenge.

Try it on your own site

Paste a URL, describe the flow in plain English, and watch a real browser do it. Three runs free, no card.

Also worth running