Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Правильное использование Page Object паттерна

design-patterns
page-object
selenium
Теги: #<Tag:0x00007f7b65161ce0> #<Tag:0x00007f7b65161ab0> #<Tag:0x00007f7b65161970>

(Knto Totot) #1

Приветствую, совсем новичок просит помощи, по поводу красивого и правильного использования Page Object паттерна.
Некоторые (и здесь на форуме и в большом интернете) пишут, что создаются классы Страниц и классы ТестовСтраниц. То есть в класс Страниц суют все локаторы, создаются методы, а в класс ТестовСтраниц суют все тесты связанные с этой страницей.
Другие пишут, что вместо ТестовСтраниц нужно создавать классы ТестовФункциональности, типо там Логин, Регистрация и т.д.

Кто же прав в итоге и как делать сразу красиво, а не потом переучиваться с говнокода на мировые стандарты?


(Виталий Коряков) #2

(Sergey Pirogov) #3

(Dzmitry Ihnatsyeu) #4

Любой паттерн ООП, коим и является Page Object в том числе, основан на общих принципах объектного проектирования и решает конкретную проблему: структурную, поведеченскую и т.п.
Вместо того, чтобы погружаться в паттерны и следовать им, я вам предлагаю разобраться в общих принципах ООП, и тогда вы сами будете использовать паттерны проектирования даже не замечая, что вы их используете, только лишь следуя и глубоко понимая почему вообще появилось ООП и какие проблемы оно помогает решать


(asolntsev) #5

http://ru.selenide.org/documentation/page-objects.html