Page Object инкапсулирует селекторы и действия; альтернатива App Actions — функции, вызывающие cy.* без классов. Главное — не дублировать селекторы и не класть лишние assert вглубь без нужды.
Разбор
- Cypress docs осторожны к тяжёлому POM — избегайте антипаттернов возврата DOM из PO.
- Часто экспортируют функции
login(), addToCart().
- Custom commands — ещё один слой переиспользования.
- Выберите один стиль в команде.
Итог
Абстракции нужны для DRY селекторов; Cypress допускает и PO, и функциональные app actions.