KISS PageObjects
summary
Presents three PageObject styles—Static, Void, and Fluent—illustrated in Java using Selenium and Selenide (with occasional PageFactory/find annotations). Recommends keeping PageObjects simple by preferring composition over inheritance, avoiding typed-element wrappers and ambiguous return types, and not adding unused locators or methods; shows patterns like public-element and constructor-component, using Selenide assertions for waits, and discusses tradeoffs that reduce maintenance.
AI-written summary · about
chapters (15)
- 0:00Introduction
- 3:57TSTD simplicity benefits
- 8:57Simple PageObjects
- 14:43PageObjects purpose
- 16:52Typing anti-patterns
- 19:40Implementation approaches
- 22:08Public benefits
- 25:17Fluent constructors
- 28:28Avoid returning PageObjects
- 29:53Inheritance anti-pattern
- 31:39Composition over inheritance
- 32:20PageObjects containers
- 34:25Overloaded responsibilities
- 35:50Structure tips
- 37:00Q&A
related talks
40mPage Objects: Keep It Simple and Better!
39mBeyond Page Objects
51mEverything you want to know about Page Object design pattern (Mikalai Alimenkou, Ukraine), part 1
46mEverything you want to know about Page Object design pattern (Mikalai Alimenkou, Ukraine), part 2
47mOn the Other Side of Page Object
14mUsing the Page Object Pattern
18mImproving Page Object
45mDesign Patterns in Test Automation
