Таких элементов много на странице? Если нет, то можно заюзать что то вроде полиморфизма, в зависимости от типа элемента на странице позволять совершать над ним определенные действия. Либо менее красивый метод, если описывать элементы как классы, можно сделать именно для таких элементов что то вроде “супер” класса который наследует все методы от возможных в этой области элементов. Плюс очень много зависит от ЯП и фреймворка или подхода к автоматизации. Да, и не совсем понятно, страница одна? У нее все элементы кроме того контента статичны? Почему не подходит вариант описать просто все элементы даже не смотря на одинаковые локаторы для контента? (вы же в любом случае будете знать какой элемент вы ожидаете в контенте, соответственно вы не станете обращаться к контенту как к форме если там картинка )
Нет, страниц с десяток.
Все элементы, т.е. меню, хедеры, футеры, все статично. Т.е. не меняются от страницы к странице.
Меняется только содержимое этого слоя с контентом. Сам контент имеет различные локаторы, поэтому объединить их не получается
Потому что получится простыня. Это крайний вариант.
А что неудобного в создании отдельных классов под эти страницы? Вы ведь когда следуете PageObject паттерну, не говорите, что это неудобно? Да, технически у вас там только 1 страница. Но что, если смотреть на них, как на виртуальные пейджи, которые можно разделять логически по контенту?
Вот-вот, в этом и беда. С тестов надо начинать, слишком много теоретизировать вредно. Сделайте один пэдж-объект с одни методом getContent() и проверяйте, что div с Id=“content” содержит нужный текст. А дальше будете усложнять по мере необходимости (не факт, что понадобится усложнять).
Три верхнеуровневых локатора никаким образом не позволят одинаково работать с вложенным в них контентом. С тем же успехом можно считать, все html-страницы одинаковыми, потому что есть title, head, body
Одинаковость страниц надо определять по их использованию и внутренней верстке составляющих компонентов. Возможно тебе повезет, если разработчики молодцы и старались использовать одинаковую верстку страниц и компонентов, то коэффициент переиспользования кода будет выше и тебе не придется для каждой из 40 страниц делать уникальный класс от и до
Да я уже посмотрел вложенный контент. По одному месту им (разработчикам) бы настучать за такое. Какие-то страницы имею общий стиль, какие-то, хоть и выглядят один в один, через одно место сверстаны.
Попробуй технику, которую предлагают ребята из Яндекса … во избежание описания одинаковых элементов на страницах, они создали фреймворк. Ну там описание хорошее, так что рекомендую.