Это ваша личная кухня, как решите с коллегами так и делайте. )
Но держусь мнения, что в PageObject надо держать не поля а логику.
Вот есть у вас кнопка для закидывания товара в корзину, сделали поле в PO
By pay = By.id("pay")
(не важна By, или WebElement, или еще какая обертка). Теперь в нескольких тестах вы используете его
@Test
publuc void UserShoudBeAdblePay(){
...
driver.findElement(pay).click();
}
А дальше приложение развивается и кнопка превращается в drop-down где два пукнка кинуть в корзину и купить сразу, теперь вы идете и лопатите весь код добавляя клик для открытия drop-down.
А если вы будете закладывать логику в PO, то править надо будет в 1 месте
public void putInBasket() {
driver.findElement(By.id("pay")).click();
}
public void putInBasket() {
driver.findElement(By.id("drop-down")).click();
driver.findElement(By.id("pay")).click();
}
Другое дело, что возможно вам и не нуден PageObject, если у вас UI тесты, которые проверяют то, что нельзя проверить более низкоуровневыми тестами, есть шанс что PO в целом излишен )