Это самое большое неудобство при тестировании ... Когда что-то меняется, вы должны переписать свой тестовый скрипт.
Вы можете выбрать оптимальный для вас способ локализации элементов. Но всегда есть риск, что xPath (и CSS или локаторы любого другого типа) будут изменены. На самом деле, вы не можете написать сценарий для всех возможностей. Вам просто нужно вручную изменить сценарий, когда в приложении есть какие-либо изменения.
Это факт, которого вы не можете избежать.