Hal Deranek, Software Tester
The Page Object Model is one of the bedrocks of modern website test automation. The model, based on Object-Oriented Programming concepts, helps a test automation engineer break website pages down from large dynamic sets of elements into sections and patterns. Rather than having to account for 100+ elements on a webpage, we can account for the discernible sections and patterns. Place the elements within those sections and patterns. The POM is easier to implement, understand, and maintain.
This all worked well when page content wasn’t terribly dynamic. With the recent rise of asynchronous platforms like React and Angular, test automation has become more difficult because of the one word that strikes fear in the hearts of most automation engineers: PROMISES! Perhaps that’s hyperbolic, but I have seen enough testers struggle to work with Promises to know that it’s a large problem. Fortunately, I’ve been able to understand Promises, when they are used, and how to resolve them within a test automation suite. I have conquered Promises and I want to teach everyone how to no longer fear them.
My presentation will focus on these points – describing the Page Object Model and its benefits, explaining what Promises are and how they work, and best practices around using the Page Object Model when testing against an asynchronous platform. I will provide context and examples that the attendees will be able to understand and reproduce. I will also be sure to move around, speak with energy and verve, and interact with the attendees so that everyone has a good time while learning.
Key takeaways include:
- Explaining the Page Object Model and its benefits
- Explaining the concept of Promises and how to resolve them
- Defining best practices on how to work with the Page Object Model when Promises are present
- See concrete examples of these concepts in action
Hal Deranek, 2019 Technical Presentation, Paper, Slides