12 March 2026

When UI automation is carrying API work

Signs your browser suite is duplicating contract checks—and how to move that work without a big-bang rewrite.

In planning sessions we often open a UI suite and find entire journeys that never assert what a human would notice on screen. They click through to confirm a JSON field that an API test could have locked in seconds.

That pattern usually appears when the first automation hire only knew the UI runner, or when staging APIs were hard to reach. Neither reason is a moral failure—but leaving the checks there taxes every release.

A practical split

During framework planning we ask three questions per check:

  1. Does failure mean a customer-visible break in this surface?
  2. Would a contract or API assertion fail earlier with less flake?
  3. Who owns the fixture data today?

If the answer to (1) is no and (2) is yes, the check is a candidate to migrate. Migration does not mean delete-on-Monday. It means park a ticket with a replacement owner and a date, then stop adding siblings in the UI pack.

What we refuse to do

We will not declare “no UI tests ever.” Visual and journey-critical paths still earn their keep. The win is making the UI pack thin enough that a red build is believable again.