Пытаюсь узнать такого редкого зверя, как ScreenPlay Pattern - это “следующая ступень эволюции, что превзошла PageObject и что соответствует принципам SOLID”.
Собственно все действия на странице делятся на Задачи и Вопросы согласно принципам открытости-закрытости и единственной ответственности. Могу ли я в Задаче использовать Вопросы? К примеру:
нажать кнопку меню,
подождать, когда оно станет видным
и кликнуть по пункту Профиль
То есть, есть несколько “атомарных” задач и вопросов и я хочу для удобства поместить их в одну задачу. Могу ли я такое провернуть или это ломает принципы и нужно их всегда раздельно использовать?
P.S: Или есть ли у кого ссылка на более менее сложный пример по Screenplay или подробная статья / серия статей / книга ?
В общем, нашел примеры по screenplay с serenity. Что я увидел: в серенити объявлены специальные Wait интеракции, внутри которых сидит вопрос-ожидание (или последствие / Consequence):