We have all read the blogs. We have all seen the charts
showing how Generative AI can "revolutionize" test automation by
magically resolving locators, self-healing broken selectors, and interpreting
UI changes on the fly. There are many articles that paints a compelling picture
of a future where tests maintain themselves.
Cool story. But let’s take a step back.
Why are we bending over backward to make tests smart
enough to deal with ever-changing DOMs when there's a simpler, far more
sustainable answer staring us in the face?
-
Just
use Test IDs.
That’s it. That’s the post. But since blogs are supposed to
be more than one sentence, let’s unpack this a bit.
1. Test IDs Never Lie (or Change)
Good automation is about reliability and stability. Test
IDs—like data-testid="submit-button"—are predictable. They
don’t break when a developer changes the CSS class, updates the layout, or
renames an element. You know what you're looking for, and it's always there.
2. Why Teach AI What You Already Know?
Generative AI for testing is impressive, sure. It can
"guess" the right element even if the locator changes. But why make
the AI guess when you could just tell the DOM exactly what to look for from the
start? AI should augment your testing strategy, not clean up a mess that
could’ve been avoided with proper conventions.
3. Efficiency Beats Elegance in Testing
We’re not building art. We’re validating functionality. Test
IDs are low-friction, high-impact tools. They cut through the noise. No need
for complex AI models to resolve fuzzy locators or map intent to UI. A test ID
is a direct line to what you care about. And it's faster—both in test runtime
and in human time.
4. Over-Engineering Doesn’t Scale
The Medium article talks about AI fixing flaky tests and
adapting to UI changes. But let’s be real: this adds another layer of
complexity. More moving parts. More things that can go wrong. More
infrastructure to maintain. If your AI model fails, now your tests are broken, and
you’ve got an AI debugging session on your hands. Why not prevent the flakiness
in the first place with a simple, durable solution?
5. Developers Can (and Should) Help
Adding data-testid attributes is a tiny investment
with massive payoff. It’s part of building testable software. Just like
accessibility tags or semantic HTML, it's about building UIs that cooperate
with the tools that rely on them.
Note* You can keep chasing the AI-powered dream of
resilient, self-healing test automation. Or you can just use test IDs
and build a system that’s reliable from day one.
AI is great—but not when it’s solving a problem that
shouldn’t exist in the first place.
Comments
Post a Comment