About the course

The core of UI automation is developing a framework around the different tools and libraries used. Just like software development, automation requires a carefully designed architecture built around fundamental tenants I call ‘Pillars’.

While these concepts are common knowledge in the development realm, automation engineers are mostly unaware of them. This course is the back bone in understanding how to create a truly remarkable automation project which actually works and produces results.

Course content

  • Introduction to framework design
  • Framework design planning
  • Maintainability
    • Meaning
    • Coding guidelines
    • Complexity
    • Source control
    • Logging
  • Reusability
    • Designing building blocks
    • Wrapper layer / encapsulation
    • Reusability in every aspect of the design
  • Robustness
    • Causes of flakiness and basics to overcome it
    • Error handling
    • Synchronization
    • Fail safe mechanisms
  • Scalability
    • What and why?
    • How to account for scalability
    • Testing for scalability
  • Design patterns
    • SOLID
    • DRY

Course duration

12 hours


Target audience

  • Have been working with Selenium and are tired of fixing flakiness issues
  • Are not satisfied with the code base they have developed
  • Are not getting results from automation project

Pre-requisite knowledge

  • Basic pre-reqs:
    • Experience of working with ANY UI automation tool
  • Additional good to have:
    • Few years of experience with automation, especially UI automation

Take Aways

  • In depth understanding of what an automation framework is
  • Understand what to look for when designing an automation framework
  •  Introduction to fundamental software design concepts to write code like a pro