Паттерн Page object

Сегодня я выступлю в роли кэпа и расскажу про самый популярный паттерн в e2e ui тестах

Что это? Конечно же Page Object.

Суть паттерна заключается в том, чтобы описывать страницы и элементы UI в виде отдельных классов и тем самым получить профит в:

- переиспользовании и соответсвенно уменьшения дублирования кода - инкапсуляции логики и предоставлении понятного интерфейса для описания теста

Пример:

У нас есть приложение у которого каждая страница содержит один общий хедер и футер и мы хотим взаимодействовать с ними с разных страниц.

Логично будет описать абстрактный класс BasePage, так же создать класс Footer и Header.

В классе BasePage определить два поля класса для этих сущностей и наследовать каждую нашу страницу от BasePage.

Может показаться, что все это очевидно, но я видел проекты, где над таким не парились и прямо в каждом тесте напрямую обращались к нужным локаторам. Думаю можно не говорить о том сколько нужно было проделать манипуляций для починки таких тестов.

Всем чистого кода и бэклога без багов! 🪲🚵‍♀️🩼 Мой канал в тг #qa #тестирование #автотестирование

Паттерн Page object | Сетка — социальная сеть от hh.ru