Page Object
Page Object — паттерн проектирования автотестов: каждая страница или компонент приложения описывается отдельным классом, который прячет локаторы и элементарные действия. Тесты оперируют методами вида loginPage.loginAs(user), не зная, какие внутри селекторы.
Зачем это нужно
Когда вёрстка меняется, без Page Object локатор приходится править в сорока тестах, с ним — в одном классе. На сотнях тестов это разница между «поправил за 10 минут» и «чиним неделю».
Как это выглядит на практике
Класс CartPage с методами addItem(name), total() и checkout(). Когда у кнопки корзины меняется data-атрибут, правится одна строка в CartPage — все тесты, использующие корзину, продолжают работать.
Где этому учат
Тема разбирается на практике в курсах QA.GURU: Автоматизация тестирования на Java, Автоматизация тестирования на Python, Java Advanced.