я это все понимаю =) ну тобишь в PageObject мы можем все поля сделать публичными финальными статичными и в тестах к ним обращаться напрямую?
Поля внутри PageObject'ов - это детали реализации. Если выпячивать детали реализации и напрямую к ним обращаться из тех же тестов, это делает такой класс, к которому обращаются, хрупким и плохо изменяемым. Поэтому и делают все эти геттеры, шметеры и прочее. Классика ООП :)
Если же мы говорим в целом про PageObject/PageElement, как паттерн, то по сути тот или иной PageObject/PageElement просто предоставляет API к странице/элементу страницы. И вот этим API и надо пользоваться, а не завязываться на реализацию, которую кто-то по неосторожности оставил открытой :)