PаgeObject - хедер и футер отдельными классами?

Всем привет!

Сразу прошу прощения за, может быть, глупый вопрос :slight_smile:

Хочу попробовать писать тесты с использованием PageObject и пока занимаюсь тем, что создаю список всех возможных страниц и проверок на них (пока на бумаге). И вот смотрю, что на каждой из страниц присутвуют такие элементы как хедер и футер и соответсвенно вопрос - можно ли создать на них (хедер и футер) два отдельных класа и потом, при необходимости, использовать их?
Или же для каждой страницы отдельно описывать все элементы из хедера и футера?
Спасибо.

Можно создать абстрактный класс CommonPage, и описать в нем общие для всех страниц елементы.

Думаю вам надо отталкиваться от контекста.

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

Чтобы все это понять, надо спросить у разработчиков, как они инклудят хедер и футер на сайте, если они описываются в коде в одном файле, а потом инклудятся, тогда этого будет достаточно…

Зачем же плодить код, а также тесты, которые не принесут ни какой пользы. :slight_smile: Вы ведь когда тестируете меню в хедере или футере, вы потом не бегаете по каждой странице сайта и не делаете однотипные проверки :slight_smile:

4 лайка

Спасибо.