Джон, я думаю, что вы спрашиваете: «Как реализовать хрустальный шар, который предвидит изменения в HTML и автоматически адаптируется к ним».
Ответ таков: нет, лучший реалистичный способ - поговорить с разработчиками, чтобы реализовать разумные идентификаторы и классы для каждого важного элемента, и попросить их сообщить об изменениях до того, как вы начнете свои тесты, увидеть, как они ломаются, и удивляться тому, что произошло. .
Если вы сами разработчик и пытаетесь практиковать TDD, то:
1) реализовать неудачный тест с использованием фиктивного Xpath, увидеть, что он не прошел
2) реализовать пользовательский интерфейс
3) Обновите Xpath в своем тесте, запустите, см. Прохождение теста