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

Подскажите, как лучше организовать свой код. Page-Object

Теги: #<Tag:0x00007fd7687446d0> #<Tag:0x00007fd768744568> #<Tag:0x00007fd7687443b0> #<Tag:0x00007fd7687441f8> #<Tag:0x00007fd7687440b8> #<Tag:0x00007fd76874bf48> #<Tag:0x00007fd76874bbd8>

Проблема заключается в том, что нужно осуществить проверки перехода объекта на странице в новые статусы. Статусов очень много и каждый раз при нажатии на кнопку перехода в очередной статус, появляется новая, отличная от других всплывающая форма для заполнения.

Получается мне нужно будет создать классы на каждую форму? Не пихать же работу со всеми этими формами в один класс.
Подскажите, как лучше сделать

Ну если у вас не флюент то просто создавайте нужную страничку в зависимости от статуса, если флюент то придётся для каждого статуса создавать метод который возвращает нужную страничку, чтоб цепочка не разорвалась, либо сделать метод дженериком и внутри создавать нужный инстанс в зависимости от типа, в c# так точно можно делать в других языках не знаю

Да, лучше инкапсулируйте формы в отдельные классы или в статик нестед классы внутри родительского пейдж обджекта, будет понятнее и проще находить.

Попробуйте не усложнять задачу с дженериками а просто создавайте инстанс формы после соответствующих шагов. Если хочется заморочиться, можно сделать дженерик метод, но придется передавать ему тип желаемый формы чтобы матод ее вам вернул.

Также можете ипкапсулировать действия приводящие к каждой из форм в новый метод и в нем возвращать нужную форму.