Research guide
When UI changes make your E2E suite lie
Good locators survive more UI changes. They cannot prove that a redesigned customer journey still works. Split stable checks from changing browser journeys.
Start with the part locator guidance solves
Playwright recommends user-facing locators and explicit contracts. Use a role, label, or test identifier instead of a long CSS or XPath chain. That change makes a scripted interaction less tied to incidental markup.
The locator still protects only the interaction you chose. It cannot tell you whether a redesigned purchase, onboarding, or recovery flow still reaches the outcome you need.
A passing test can be stale
A product change can keep the button but move the decision, add a required field, or split one journey into two. The old test may pass because its old assertion remains true. It may also stop on a changed label before it reaches the real blocker.
That creates two jobs: repair the test and inspect the product. Treating them as the same job wastes release time.
Keep the suite, add a journey check
Keep coded tests for stable rules with precise expected values: API behavior, validation, permissions, pricing calculations, and accessibility contracts. They work best when setup and assertions stay explicit.
Add a CueTest journey for the path your product team keeps reshaping. Name the role, goal, critical action, and final proof. Then you can ask whether a user can complete the interface that is live today.
Use this question before release
Before shipping a redesigned flow, list the tests that would still pass if a customer could no longer complete the journey. That list shows where selector hardening cannot protect you.
CueTest does not replace Playwright. It adds browser evidence when a changing interface is the release risk.
Key takeaways
- User-facing locators reduce brittle implementation coupling, but they do not prove journey coverage.
- A failing selector and a broken customer flow are different problems that need different evidence.
- Use CueTest for the changing UI paths where the outcome matters more than a fixed DOM route.