Comments 4
А в каких ситуациях вот эта обертка над оберткой по вашему мнению приносит пользу? Как будто бы кажется что для большинства кейсов обычный PageObject уже оверкилл: селекторы уникальные, между страницами в контексте одного сценария ходишь не так уж часто. По крайней мере у меня какой-то такой опыт
Спасибо за комментарий!
Согласен, действительно, стоит отталкиваться от ситуации и масштабов проекта, а так же от подхода к написанию к тестов. Совершенно точно, где-то это будет овекилл. Описанный PO хорошо подходит для больших проектов, где требуется, в том числе, описывать сквозные юзерские сценарии. Из плюсов, в моем понимании:
Простая и понятная архитектура PO (это особенно важно, когда над кодом работает большая команда - помогает придерживаться единого стиля).
Сам PO становится читабельнее - глядя на любое свойство класс PO становится понятно - это простой локатор, список локатора, компонент, или список компонентов. В результате чего становится понятно, как с этим свойством взаимодействовать.
Упрощает чтение тестов - глядя на любую строчку кода можно понять, с каким конкретно элементом, какого компонента происходит взаимодействие.
Автор статьи почему-то нигде не указал что сам и является разработчиком этой библиотеки
Пишем сложный Page object для playwright тестов вместе с Dorama