Паттерн Page object
Сегодня я выступлю в роли кэпа и расскажу про самый популярный паттерн в e2e ui тестах
Что это? Конечно же Page Object.
Суть паттерна заключается в том, чтобы описывать страницы и элементы UI в виде отдельных классов и тем самым получить профит в:
- переиспользовании и соответсвенно уменьшения дублирования кода - инкапсуляции логики и предоставлении понятного интерфейса для описания теста
Пример:
У нас есть приложение у которого каждая страница содержит один общий хедер и футер и мы хотим взаимодействовать с ними с разных страниц.
Логично будет описать абстрактный класс BasePage, так же создать класс Footer и Header.
В классе BasePage определить два поля класса для этих сущностей и наследовать каждую нашу страницу от BasePage.
Может показаться, что все это очевидно, но я видел проекты, где над таким не парились и прямо в каждом тесте напрямую обращались к нужным локаторам. Думаю можно не говорить о том сколько нужно было проделать манипуляций для починки таких тестов.
Всем чистого кода и бэклога без багов! 🪲🚵♀️🩼 Мой канал в тг #qa #тестирование #автотестирование