Advanced Selenium: Page Objects and GUI Automation
2h 52mAdvanced2020-06-09
Authors

Alan Richardson
Consultant specializing in agile software testing and development
Course details
The Page Object Model is a popular design pattern for automating web applications. Test automators can be more effective if they have mastered multiples ways of creating page objects and understand their pros and cons. In this course, Alan Richardson shows how to model GUI applications as page objects in Selenium. Discover how to refactor code into abstractions and abstract the details of your infrastructure, dependencies, and even technology elements like buttons and input fields. Explore the different types of page objects, and discover how to abstract navigation and test data. Plus, find out how to model the execution of an application with domain-specific languages. Alan closes with tips on making abstraction design decisions.
Topics include:
Refactoring to abstractions
Support abstractions
Infrastructure abstractions
Technology abstractions
Types of page objects
Navigation abstractions
Domain abstractions
Using domain-specific languages (DSLs)
Making abstraction design decisions
Topics include:
Refactoring to abstractions
Support abstractions
Infrastructure abstractions
Technology abstractions
Types of page objects
Navigation abstractions
Domain abstractions
Using domain-specific languages (DSLs)
Making abstraction design decisions
Skills covered
CucumberSeleniumSoftware TestingAdvancedOpen SourceSoftware Development
Concepts
0. Introduction
- 01 - Model your application for automation
- 02 - What you should know
1. Understanding Abstractions
- 03 - What are abstractions
- 04 - How do abstractions help
- 05 - Refactoring to abstractions
2. Support Abstractions
- 06 - What are support abstractions
- 07 - Infrastructure abstractions
- 08 - Dependency abstractions
- 09 - Driver abstractions
- 10 - Technology abstractions
- 11 - Storage abstractions refactored
- 12 - Element abstractions
3. Page Objects
- 13 - What are page objects
- 14 - POJO page objects
- 15 - Component abstractions
- 16 - Structural page objects
- 17 - Locator page objects
- 18 - Functional page objects
4. Logical Abstractions
- 19 - Navigation abstractions
- 20 - Data abstractions
- 21 - Domain abstractions
5. Execution Abstractions
- 22 - Domain-specific languages
- 23 - Code-based DSLs with fluent interfaces
6. Abstraction Design Decisions
- 24 - Trade-offs and decisions
- 25 - Dos and don'ts
Conclusion
- 26 - Next steps