t.me/atinfo_chat Telegram группа по автоматизации тестирования

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

Теги: #<Tag:0x00007f748ed23ae8> #<Tag:0x00007f748ed23a20> #<Tag:0x00007f748ed23958>

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

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

1 Симпатия
1 Симпатия

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

2 Симпатий

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

1 Симпатия