You have learned the theory. Now build POM from scratch. These exercises progressively build a complete POM framework for the practice portals. Do not skip any. Each one builds on the previous.
Exercise 1: LoginPage from Scratch
Create pages/login.page.ts for the Banking Portal login page
Write an end-to-end test: search product, add to cart, verify cart total
Verify all locators work with --headed mode
Exercise 4: Fixtures Setup
Create fixtures/pages.fixture.ts extending test with all your page objects
Refactor all test files to import test from your fixture file
Replace manual new PageObject(page) with destructured fixture parameters
Verify all tests pass with fixtures
Create an authenticated fixture that logs in before each test
Exercise 5: Components and Fluent Navigation
Extract HeaderComponent from your dashboard page object
Make LoginPage.loginAs() return DashboardPage
Make DashboardPage.goToTransfer() return TransferPage
Write a fluent end-to-end test: loginPage.loginAs() -> dashboard.goToTransfer() -> transfer.transferMoney()
Verify the entire flow works with --headed mode
Start each exercise from scratch. Do not copy from the lesson code. The muscle memory of typing class definitions, constructors, and locators is how you internalize POM. Reading is not enough.
Key Point: Five exercises that build a complete POM framework: LoginPage, BasePage, Shopping Portal, Fixtures, and Fluent Navigation. Each exercise depends on the previous. Do them in order.