Краткий ответ:
Без поддержки Page Factory , POM потеряет преимущество наличия нижеупомянутых функций в фреймворке, так как Page Factory является Улучшенное POM , которое обеспечит ключевые функции при проектировании и разработке каркаса.
Длинный ответ:
2 вещи, которые нужно понять: Объект страницыМодель (POM) и расширенное POM, т.е. Фабрика страниц
Модель объекта страницы (POM): Это шаблон проектирования объектов в Selenium, где веб-страницы представлены в виде классов, аразличные элементы на странице определены как переменные в классе.Все возможные взаимодействия с пользователем могут быть реализованы в виде методов для классов.
Для поддержки модели Page Object мы используем Page Factory .Page Factory в Selenium - это расширение объекта Page Object, которое можно использовать по-разному.Некоторые примеры ниже -
Примечание. - Если мы используем POM без Page Factory, то у нас не будет преимуществ нижеприведенных функций в нашей среде.
- Мы можем использовать Page Factory для инициализации веб-элементов, которые определены в классах веб-страниц или объектах страницы.
- Мы можем использовать AjaxElementLocatorFactory в Page Factory, которая использует явное ожидание & itбудет ждать до N Количество секунд для каждого элемента В ЛЮБОЕ ВРЕМЯ к ним обращаются.
- Аннотация @ CacheLookup в Factory, когда мы знаем, что некоторые элементы всегда работаютчтобы быть там на странице, то имеет смысл кэшировать.Например, на странице Google кнопка поиска находится на поиске и приводит к результатам поиска на обеих страницах, поэтому элемент для поиска кнопки поиска можно кэшировать