What is the Page Object Model and what problems does it solve?
Page Object Model wraps each page or component in a class that exposes locators and high-level actions, so tests describe intent rather than clicks. The problem it solves is maintenance: when the UI changes, you update one page object instead of fifty tests. It also removes duplication and makes tests readable to people who did not write them.