Early access The free plan is live — unlimited tests, no card, yours to keep Get started →
Guardian

What test drift detection actually catches

A test suite only knows about a page the moment it runs against it. Between runs, the page it's actually testing can change underneath it — and nothing tells you until the suite happens to hit that path again. Drift detection is the piece that watches in between.

The gap a suite can't see

Say your nightly run is green Monday through Thursday. Wednesday afternoon, someone ships a change to the checkout page — a data-testid gets dropped during a refactor, or a button that used to say "Continue" now says "Next step." Nobody runs the payment test by hand to check. Thursday night, the suite runs, hits that page, and fails.

What actually happened is simpler than the failure makes it look: the page changed Wednesday afternoon. The suite just didn't have a reason to look until its next scheduled run, almost two days later. That gap — between a change shipping and a test noticing — is where drift lives, and it's the same gap whether the suite runs nightly or on every commit. Running tests more often narrows the window; it doesn't watch the window.

How Guardian watches it

Guardian doesn't run your tests to check for drift. It walks the pages your tests already depend on — the ones you recorded — and compares what it finds against the DOM snapshot captured at record time. That's a much lighter operation than executing a full test, which is what makes running it hourly, or on every deploy, practical instead of expensive.

  1. Walk the recorded pages

    Not a crawl of the whole site — specifically the URLs your existing test cases touch, since those are the only pages a change to actually matters for right now.

  2. Get past the login screen

    Most of what's worth watching sits behind authentication. Guardian replays a recorded login segment to reach those pages, so coverage doesn't stop at the sign-in form.

  3. Compare against the record-time snapshot

    The live DOM is diffed against what was captured when the test was recorded — the same snapshot the healing cascade uses, so drift detection and self-healing are reading from one source of truth, not two that can disagree.

  4. Classify and roll up by page, not by test

    A shared header or nav component can back thirty different test cases. Guardian reports the one thing that actually changed, once, against the page — then rolls it up to a risk level for every test that depends on it, instead of surfacing thirty near-identical alerts for a single edit.

Same snapshot, two jobs. In-run healing asks "can I still find this element right now, with a test already executing." Guardian asks "did this element move at all," on a schedule, whether or not a test is running. One recovers a run in progress; the other tells you before you've started one.

What a finding actually looks like

Every drift event gets one of three ratings, based on whether the thing that changed is what your test actually depends on to pass:

Blocking
Payment — saved card. data-testid="pay-now" removed from /checkout. The locator the test needs is gone; it will fail on the next run.
Minor
Submit new claim. "Continue" renamed to "Next step." The element the test targets is still there and still findable — the visible label changed, cosmetically.
Minor
Policy renewal. Submit button moved into a new footer. Same element, different position on the page — worth a look, won't break the run.
Clean
Customer login, document upload. Nothing moved since the last scan.

What drift detection will not tell you

A scan is only as useful as your trust in what it leaves out, so the limits are worth stating as plainly as the findings.

Guardian is on Solo for up to five URLs, and on Team and Enterprise for every URL you record. Recording the tests it watches is on every plan, free included.

Three things this changes

Keep reading. What happens when a changed element does reach a run is self-healing test automation, and flaky tests separates a moved element from a slow page. How it works puts recording, healing, drift and reports in order.

Record your suite on the free plan, then point Guardian at it from Solo upwards.

Start on Free See the plans