28 февраля 2012

Link: PageObjectFactory и PageObjectPattern на простейшем примере

Пример  приведен здесь.
Не могу не прокомментировать.
Показано на простейшем примере.
Однако следует понимать, что эффект от масштаба в случае применения такой идеи может быть как положительным, так и отрицательным.
Достаточно часто бывает так, что часть страницы остается неизмвенной всегда (глобальная навигация по сайту, меню слева, каталог слева) -  в таком случае Factory всегда должна воссоздавать этот объект вновь и вновь, либо поставлять его неизменным.
Второй момент который хочется подчеркнуть - это то что паттерн PageObject подразумевает под собой конечные последовательности переходов между страницами, подразумевая что страниц конечное количество, при том такое что их вполне можно уложить в удобное API (напоминающее паттерн State).
Это опять же не всегда так.
Ну и как я уже говорил - применение паттерна - это как хирургическая операция.