How does recheck-web make your Selenium tests unbreakable? Or more generally, how does Golden Master testing address the element identification problem?
First, Golden Master testing creates a copy of the current version of the website.
This copy can be enriched with additional information, for example with an additional retestId attribute.
Any change to the original site will not affect that copy, and not change any information put into that copy. This way, the retestId is constant, because it is unaffected by changes to the actual site. And also, it is virtual, because it only lives in the Golden Master of the copy of the site, not on the actual site.
Every element receives a retest Id, that you can chose to your liking. That way, elements that are usually hard to address, resulting in complex and brittle XPath or CSS selectors, can now receive an intuitive semantic Id and are suddenly easy to address.
Whenever the Golden Master is updated with changes from the website, these changes do not affect the the retest Id.
Instead of locating the element directly on the website, the element is located within the Golden Master, using the retest Id.
Then, each element of the Golden Master is assigned to the element with the highest match on the current website. The element that was assigned to the selected element is then returned, e.g. to be used for interaction.
This way, assignment does rely on a multitude of attributes, not only of the element in question, but of the whole website. And maintaining these attributes is easy, using either the recheck CLI or review GUI.
Suddenly, unless it removes the element in question, no change is breaking anymore.
We’re happy to answer any questions you may have about retest products. Send us a message and we’ll get back to you shortly.