Automation Framework With Selenium

Learn developing advanced framework for selenium like never before with complete customization of code

Last updated 2022-01-10 | 4.4

- Understand how to design an custom automation framework
- Understand develop various components for automation framework in industry standard
- Understand developing generic Page Object Model practice using Generics in Java

What you'll learn

Understand how to design an custom automation framework
Understand develop various components for automation framework in industry standard
Understand developing generic Page Object Model practice using Generics in Java
Understand developing generic Page Navigation concepts of POM using Generics in Java
Understand and work with custom testrunners for TestNG
Understand and writing custom controls for Selenium automation by learning internals of Selenium API indepth

* Requirements

* Anyone who is going to take this course MUST have good knowledge on Java
* Must have basic knowledge on Selenium
* Must have basic knowledge on OOPs concepts
* Good understanding of database queries

Description

Welcome to the Udemy's highest-rated course Automation framework with Selenium Java (Advanced) course. In this course, we will develop each and every component required for a perfect test automation framework with industry-standard coding practices.


*** The course is updated to the latest of everything on Oct 2020 with the support of ***

  • Cucumber 6

  • Selenium 4 alpha 6

  • Cucumber TestNG

  • Extent Report

  • Custom Selenium controls

*** The course includes more than 100+ lectures with 12+ hours of content just on framework development instead of ancillary things ****

In this course, we will start our discussion with 

  • Designing a perfect automation framework

  • Understanding to develop various components for automation framework like

    • Utilities

    • Base components

    • Configurations

    • Test runners

  • Understand developing generic Page Object Model practice 

  • Understand developing generic Page Navigation concepts of POM 

  • Understand and work with custom test runners for TestNG 

    • Support of TestListeners

    • Extending test listeners for custom reporting with Extent report

  • Understand and writing custom controls for Selenium automation

    • Extending custom controls with Fluent way of writing code

    • Handing intelligent wait handling

  • Writing code using Cucumber with BDD fashion

    • Bringing all the best industry standard practices

  • Parallel Execution support with multi-thread handling and Selenium grid

    • Support of running test with Zalenium in Docker container

  • Support of Extent report with Parallel execution along with BDD cucumber format

    • Creating html reporter with single instance test support

    • Support of Parallel execution support

  • Support of latest version of Cucumber 6 and Selenium 4

This framework has so much of codes and resources, which helps to understand each and every section much clearer and easier.


**** What makes this course so special ? *****   

The11+ hours  curriculum of this course is designed not just by randomly picking some of the topics what I know. 

Rather the course has evolved over a period of time (9+ years) by giving trainings to more than 100,000+ professional (both online and corporate training) and working on automation testing field (12+ years) 

Hence the course is much refined version, meaning the course won't deviate from the topics of the course


**** Most of the sections in this course are not detailed anywhere as an online training so far ****



Who this course is for:

  • Manual and Automation QA
  • Developers
  • Business Analyst

Course content

14 sections • 110 lectures

Introduction Preview 04:54

In this lecture we will talk about the introduction of automation framework

Types of frameworks Preview 03:22

In this lecture we will talk about types of automation framework

Types of Framework Model Preview 03:42

In this lecture we will talk about framework models

Summary Preview 00:25

Summary of this section

Introduction to framework design Preview 03:48

In this lecture we will talk about the introduction of automation framework design

Introduction to framework design (Contd) Preview 08:17

This lecture is an continuation of previous lecture

Framework Design Prerequisite Preview 03:55

In this lecture we will talk about automation framework design prerequisite

Starting our framework design in IntelliJ Preview 07:23

In this lecture we will discuss framework design

Refactor Preview 08:43

In this lecture we will refactor framework design to industry standard

Introduction Preview 01:17

Writing simple code with Selenium Preview 10:01

Understanding Page Object Models (POM) Preview 11:47

Page Object Model Simplicity Preview 05:45

EA Employee App available Online - Which is discussed in NEXT lecture Preview 00:09

Introducing ExecuteAutomation Employee App Preview 03:55

Handling WebDriver Instance Object Preview 14:57

Page Navigation in Page Object Model Preview 07:02

Page Navigation without Generics Preview 06:58

Page Navigation with Generics Preview 11:45

Handling different browser types (Part A) Preview 12:30

Handling different browser types (Part B) Preview 05:52

Summary Preview 00:48

Introduction Preview 02:06

Developing Excel Utilities (Part A) Preview 10:31

Developing Excel Utilities (Part B) Preview 13:04

Introduction to developing Log Utilities Preview 02:21

Developing Log utilities with Log4j2 (Part A) Preview 09:29

Developing Log utilities with Log4j2 (Part B) Preview 05:47

Developing custom Log Utility Preview 11:55

Developing Database Utility Preview 13:26

In this lecture we will develop database utility for our framework, which will be used for Reporting as well as database testing of AUT.

Alert: If you are not interested in upcoming two lectures - You are free to Skip Preview 00:10

Developing Reporting Utility (Part A) Preview 18:45

Developing Reporting Utility (Part B) Preview 06:50

Summary Preview 00:22

Introduction Preview 01:52

Developing configuration component (Part A) Preview 10:49

Developing configuration component (Part B) Preview 03:32

Refactoring code Preview 06:24

Summary Preview 00:41

Introduction Preview 05:38

Refactor - To make existing code BDD ready Preview 11:14

Creating and working first cucumber scenario Preview 14:20

Creating and working with cucumber scenario (Contd) Preview 11:31

Creating and working with additional cucumber scenario Preview 06:29

Developing Cucumber Utility (Part A) Preview 06:56

Developing Cucumber Utility (Part B) Preview 10:04

Test Runner and customizing it for running in TestNG Preview 09:55

Test Runner and customizing it for running in TestNG with TestNG.xml Preview 07:41

Customizing custom TestNG runner Preview 08:35

Introduction and getting started with custom controls Preview 08:26

Working with custom control wrapper Preview 12:23

Working with custom control wrapper (Contd) Preview 06:03

Creating custom control to support Page Object Model Preview 03:53

Creating custom control API package Preview 09:37

Creating custom control API package (Contd) Preview 04:04

Implementing custom control for POM with existing code Preview 07:01

Implementing custom control for POM with existing code (Contd) Preview 06:44

Important: Custom controls are extended even further in Section 11 Preview 00:02

Summary Preview 00:54

Introduction Preview 03:00

Extending Reporting with EARS (Part 1) Preview 07:24

In this lecture we will Extend Reporting with EARS by writing library on our ReportingUtil 

Extending Reporting with EARS (Part 2) Preview 05:06

Writing generic reporting call for EARS in TestInitilize Preview 13:42

Introduction to Season 2 Preview 02:15

Changes to framework structure and upgrade Preview 08:56

Adding Selenium Wait library (Part 1) Preview 11:08

Adding Selenium Wait library (Part 2) Preview 07:59

Cucumber Utilities upgrade Preview 08:18

Cucumber Utilities upgrade (Contd) Preview 05:25

Complete source code Preview 00:02

Converting framework to Maven Standard Preview 11:51

Adding Cucumber reporting with Maven command support Preview 11:07

Complete source code Preview 00:02

Adding Java 10 support to our framework Preview 08:28

Complete source code Preview 00:03

Introduction to Selenium Grid and Parallel Support Preview 07:35

Modifying the framework to support Selenium Grid by using Static RemoteWebDriver Preview 14:18

Modifying the framework to support Selenium Grid in proper way Preview 11:38

Test Settings and Maven Support for Selenium Grid in our framework Preview 02:35

Running Parallel Test with TestNG and Maven command line Preview 04:57

Complete source code Preview 00:01

Introduction Preview 02:49

Setting framework ready for MacOS Preview 08:43

Extending custom controls Preview 08:53

Refactoring custom controls to align framework standard Preview 05:47

Fluent Interface design for Custom controls Preview 10:25

Bonus - Selenium grid execution with Zalenium and Docker container Preview 15:46

Bonus - Scaling and customizing Zalenium with Selenium code Preview 12:40

Complete source code Preview 00:00

All about TestNG Listeners Preview 11:23

Extent report with Parallel test run support for BDD cucumber format Preview 15:00

Extent report with Parallel test run support for BDD cucumber format (Contd) Preview 11:06

Extent report with Parallel test run support for BDD and fix issue Preview 07:27

Problem with Extent report while running test in Parallel Preview 05:06

Extent Reporting with Parallel test run support for multiple tests Preview 09:56

Fix duplicate Feature name issue in Extent report Preview 03:48

Complete source Preview 00:00

Getting feature name in Extent Report (2019 updated) Preview 06:31

Complete source Code Preview 00:02

Introduction to Season 3 and breaking changes Preview 05:43

Cucumber 6 Breaking changes in Step definition files and hooks Preview 08:57

Cucumber 6 Breaking changes in TestNG Test Runner Preview 07:17

Fixing TestNG DTD Issue with Latest changes Preview 03:05

Cucumber 6 Breaking changes in DataTable.raw() and using Cucumber expressions Preview 07:17

Suppliment: Cucumber 5/6 - Cucumber Expression for @DataTableType @DocString Preview 18:09

Suppliment: Lombok plugin and Builder Pattern Preview 13:01

Cucumber 6 Transformer with Model Creation Preview 06:08

Cucumber 6 @DataTableType Transformer instead of CucumberUtil Preview 08:04

Upgrading framework to Selenium 4 Preview 04:20

Complete Source code Preview 00:01