There is a discussion in our team if we should forbid exposing "ElementFinder" and "ElementArrayFinder" in our Page Objects.
The main reason is following quote by Simon Stewart. Page Objects Done Right - selenium conference 2014 (page.7)
If you have a WebDriver APIs in your test methods... You're doing it wrong.
SeleniumHQ/selenium/PageObjects https://github.com/SeleniumHQ/selenium/wiki/PageObjects
The approach is correct for transition functions that returns another Page Object or if multiple selections are happening on one Page so we can return Page and chain these calls.
But when we are doing something really simple there is a lot of boilerplate to write to test that element exist and have text.
Creating those mimic functions of "ElementFinder" does not make much sense to me. Most of the time its faster and more readable to expose element and use build-in functions of "ElementFinder" like ".getText()". Do you think its better make element private and expose only "getElementText()" function?
What is best practice do you forbid to expose "ElementFinder" and "ElementArrayFinder" in Page Objects?