Мы собираемся написать полный набор тестов для одного из наших JSF-приложений с использованием Selenium.
Пока что кажется, что есть два предпочтительных подхода к уникальной идентификации каждого элемента: по идентификатору или с использованием уникального имени класса. Последнее действительно взломать и не имеет смысла семантически. Первый подход правильный, но идентификаторы элементов генерируются JSF.
Кажется, что все различные реализации JSF используют один и тот же подход: используйте родительский элемент в качестве пространства имен, а затем объедините идентификатор элемента с помощью двоеточия. Достаточно справедливо.
Вопрос: знаете ли вы, гарантируется ли это в какой-то части спецификации JSF? Позже будет реальной проблемой выяснить, что нам нужно переписать все селекторы компонентов в тестах только потому, что JSF x.y изменил способ генерации имен идентификаторов.
Спасибо!