Advanced Selenium: Page Objects and GUI Automation

Advanced Selenium: Page Objects and GUI Automation

2h 52mAdvanced2020-06-09

Authors

Alan Richardson

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

Skills covered

CucumberSeleniumSoftware TestingAdvancedOpen SourceSoftware Development

Concepts

Introduction

  • Model your application for automation
  • What you should know

Understanding Abstractions

  • What are abstractions
  • How do abstractions help
  • Refactoring to abstractions

Support Abstractions

  • What are support abstractions
  • Infrastructure abstractions
  • Dependency abstractions
  • Driver abstractions
  • Technology abstractions
  • Storage abstractions refactored
  • Element abstractions

Page Objects

  • What are page objects
  • POJO page objects
  • Component abstractions
  • Structural page objects
  • Locator page objects
  • Functional page objects

Logical Abstractions

  • Navigation abstractions
  • Data abstractions
  • Domain abstractions

Execution Abstractions

  • Domain-specific languages
  • Code-based DSLs with fluent interfaces

Abstraction Design Decisions

  • Trade-offs and decisions
  • Dos and don'ts

Conclusion

  • Next steps
80,000 Toman