Second chances – getting valid objects from stale selectors
Now that we have our four primary method wrappers, let us make them more robust with self-healing code. The biggest drawback in automation is the maintenance to fix elements in the Page Object Model (POM) when selectors become stale. In this section, we look at self-healing techniques to find elements that have changed their node type.
Self healing techniques
Let's go over some self-healing techniques in this sub-section.
Reducing code for case-insensitive matches
All these functions will require a conversion to case-insensitive matches. We start by creating two constants to reduce the repeated use of the upper- and lowercase alphabet:
const A_Z = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; const a_z = 'abcdefghijklmnopqrstuvwxyz';
Next, we will need a function that will extract unique text from a stale locator.
Extracting selector text
This function will try to return the first match...