Introduction
  • Introduction
  • Types of frameworks
  • Types of Framework Model
  • Summary
Designing automation framework
  • Introduction to framework design
  • Introduction to framework design (Contd)
  • Framework Design Prerequisite
  • Starting our framework design in IntelliJ
  • Refactor
Developing Base Components
  • Introduction
  • Writing simple code with Selenium
  • Understanding Page Object Models (POM)
  • Page Object Model Simplicity
  • EA Employee App available Online - Which is discussed in NEXT lecture
  • Introducing ExecuteAutomation Employee App
  • Handling WebDriver Instance Object
  • Page Navigation in Page Object Model
  • Page Navigation without Generics
  • Page Navigation with Generics
  • Handling different browser types (Part A)
  • Handling different browser types (Part B)
  • Summary
Developing Utilities components
  • Introduction
  • Developing Excel Utilities (Part A)
  • Developing Excel Utilities (Part B)
  • Introduction to developing Log Utilities
  • Developing Log utilities with Log4j2 (Part A)
  • Developing Log utilities with Log4j2 (Part B)
  • Developing custom Log Utility
  • Developing Database Utility
  • Alert: If you are not interested in upcoming two lectures - You are free to Skip
  • Developing Reporting Utility (Part A)
  • Developing Reporting Utility (Part B)
  • Summary
Developing Config Components
  • Introduction
  • Developing configuration component (Part A)
  • Developing configuration component (Part B)
  • Refactoring code
  • Summary
Developing Test Layer
  • Introduction
  • Refactor - To make existing code BDD ready
  • Creating and working first cucumber scenario
  • Creating and working with cucumber scenario (Contd)
  • Creating and working with additional cucumber scenario
  • Developing Cucumber Utility (Part A)
  • Developing Cucumber Utility (Part B)
  • Test Runner and customizing it for running in TestNG
  • Test Runner and customizing it for running in TestNG with TestNG.xml
  • Customizing custom TestNG runner
Developing Custom controls of Selenium for framework
  • Introduction and getting started with custom controls
  • Working with custom control wrapper
  • Working with custom control wrapper (Contd)
  • Creating custom control to support Page Object Model
  • Creating custom control API package
  • Creating custom control API package (Contd)
  • Implementing custom control for POM with existing code
  • Implementing custom control for POM with existing code (Contd)
  • Important: Custom controls are extended even further in Section 11
  • Summary
On-going framework development
  • Introduction
  • Extending Reporting with EARS (Part 1)
  • Extending Reporting with EARS (Part 2)
  • Writing generic reporting call for EARS in TestInitilize
Season 2 - Course upgrade and Tidbits
  • Introduction to Season 2
  • Changes to framework structure and upgrade
  • Adding Selenium Wait library (Part 1)
  • Adding Selenium Wait library (Part 2)
  • Cucumber Utilities upgrade
  • Cucumber Utilities upgrade (Contd)
  • Complete source code
  • Converting framework to Maven Standard
  • Adding Cucumber reporting with Maven command support
  • Complete source code
  • Adding Java 10 support to our framework
  • Complete source code
Selenium Grid and Parallel Execution support
  • Introduction to Selenium Grid and Parallel Support
  • Modifying the framework to support Selenium Grid by using Static RemoteWebDriver
  • Modifying the framework to support Selenium Grid in proper way
  • Test Settings and Maven Support for Selenium Grid in our framework
  • Running Parallel Test with TestNG and Maven command line
  • Complete source code
Extending Custom controls in framework for our custom selenium controls
  • Introduction
  • Setting framework ready for MacOS
  • Extending custom controls
  • Refactoring custom controls to align framework standard
  • Fluent Interface design for Custom controls
Bonus - Selenium grid execution with Zalenium and Docker container
  • Bonus - Selenium grid execution with Zalenium and Docker container
  • Bonus - Scaling and customizing Zalenium with Selenium code