Why your browser automation tests are flaky and unstable?
The reason why your browser automation tests are flaky is because of the use of hard-coded CSS / XPATH element selectors. Frontend code is more likely to change than compared to server side code, so why are we still writing tests with specify where the element is based on how it is coded? That's why our philosophy at UI-licious is "Test User Journeys, not HTML". Instead of using CSS / XPATH expression, you can target elements using its user-facing labels, which are generally more stable, and let the UI-licious smart element targeting algorithm determine during the time of execution where exactly is the target element on the page. This makes UI-licious semantic tests more stable and robust and easy to maintain.