HTML Elements - матчеры и ожидания

Задам встречный вопрос: чем тогда по вашему является PageObject? Только не надо начинать с “патерн”… Своими словами попробуйте объяснить, как вы понимаете саму идею?

Моя идея такова, что все элементы и способы взаимодействия с ними (а равно и их ожидания и Assert-ы на них) инкапсулированы в private полях и методах класса -страницы, а какие то методы реализующие бизнес-логику уже смотрят наружу и тесты имеют доступ только к ним. Ну вот мне как то как кажется

А что вы собственно тестируете? Элементы страницы или бизнес логику приложения? Ассерты являются частью конкретного сценария, а не модели пейджи. Сама страница ничего не проверяет, она лишь описывает элементы и варианты взаимодействия с ними. Проверка состояний компонентов лежит лично на вас, как на QA. И реализуется этот принцип непосредственно в самом тест кейсе.