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

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

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

1 лайк
1 лайк

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

2 лайка

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

1 лайк