Titus Fortner is a core contributor to the Selenium project and the maintainer of the Ruby bindings. He spends a significant amount of time writing open source testing software built on top of Selenium. He is the project lead for Watir and is active in supporting these projects on Stack Overflow, message boards and in the Selenium Slack and irc. Titus has implemented automated tests at five different companies and currently works at Sauce Labs as a Solution Architect, working with the community to facilitate testing best practices.View the profile
About the talk
Page Objects: You're Doing It Wrong - Titus Fortner | Senior Solution Architect at Sauce Labs
Page Objects are the most commonly used abstraction pattern for functional UI Tests. They have the ability to enable users with little Selenium knowledge to write sophisticated tests against an application at scale, while reducing the maintenance costs as the application changes. Based on Sauce Labs Solution Architect code reviews, though, it is one of the most poorly understood and abused tools in a team’s framework. As an SDET at 5 companies before joining Sauce Labs, I’ve tried a number of different approaches and know first-hand what works well and what can cause problems. Experienced people will have disagreements with many of the points I will outline, and I will present both sides along with the reasons for my preferences.
The following principles (and more) will be discussed:
- Imperative vs. Declarative
- Page Object Alternatives
- Deterministic vs. Non-Deterministic
- Coupling vs. Decoupling
- Inheritance vs. Composition
Buy this talk
Buy this video
With ConferenceCast.tv, you get access to our library of the world's best conference talks.