Reducing page object maintenance with generic selectors
Before we get into the advanced concepts of making our object flexible like plastic, let’s begin with several ways we can write better selectors. A robust selector is extremely important to reduce the maintenance of your test automation framework. We will move beyond exact matches to use substring matches to be sure that we can find an element even if it changes slightly.
We begin with a simple question. Which is better—XPath or CSS? There is a common idea that CSS is the preferred method for writing a selector because it executes faster. While this may be true, the speed difference today is minimal. I would rather spend a few more milliseconds finding an element over the minutes spent repeatedly updating object selectors. In addition, CSS selectors are harder to write syntactically. Furthermore, CSS selectors are not as flexible when we need to find one element relative to another—for example, locating...