Это не определено как часть объектной модели страницы, это определяется PageFactory
, который является вспомогательным классом при инициализации элементов в объекте страницы.Намерение заключается в том, чтобы настроить прокси таким образом, чтобы стратегия местоположения элемента определялась @FindBy
, и вы могли ссылаться на WebElement
, и он будет искать его при использовании ссылки.
Если вы собираетесь хранить локаторы, не храните строку ... храните вместо By
локатор.Он содержит дополнительную информацию о TYPE локатора, например, By.id, By.cssSelector и т. Д. Я думаю, что это более чистый подход, и он не позволит вам каким-либо образом определить, какой тип локатора для этой строкипеременная есть.Это подход, который я использую во всех проектах Selenium, которые я написал и / или поддерживаю.
По словам авторов Selenium, PageFactory
не должен использоваться.Смотрите это видео Саймона Стюарта, ведущего коммиттера, в котором говорится, что он не используется (27:26) и так далее, и почему.По ссылке начинается раздел, который ведет в его комментарии к PageFactory
.