Automation framework development with Selenium C# (Advanced)
4.3 (774 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,497 students enrolled

Automation framework development with Selenium C# (Advanced)

An End-to-End Selenium automation framework development course
4.3 (774 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
3,497 students enrolled
Created by Karthik KK
Last updated 5/2020
English
English [Auto]
Price: $74.99
30-Day Money-Back Guarantee
This course includes
  • 12.5 hours on-demand video
  • 15 articles
  • 29 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand what an automation framework is
  • Choosing right automation framework for your project
  • Building more robust and hybrid automation framework
  • Leveraging the power of C# to build generic framework model
  • Extending the automation framework with Behavioral Driven Development with Specflow
  • Developing an Industry standard framework with complete modularity on framework as well as Application test code
Course content
Expand all 122 lectures 12:42:20
+ Introduction
6 lectures 16:00

Introduction to the complete course discussion in under 10 mins

Preview 06:08

In this lecture we will discuss the introduction to automation framework and its importance.

Introduction to automation framework
03:18

In this lecture we will discuss the different types of automation testing frameworks available like

  1. Data Driven
  2. Keyword driver
  3. Hybrid
Types of automation testing frameworks
03:16

In this lecture we will discuss the different models of automation framework available such as

  1. Page object Model
  2. Behavioral Driven Development Model
Understanding automation model
03:18
Presentation on Framework Introduction
6 pages
Presentation on Kinds of framework
5 pages
+ Designing Automation framework
6 lectures 15:47

In this lecture we will learning an introduction to framework design and what we will be discussing in this course

Introduction to Framework Design
02:55

In this lecture we will be discussion about the framework design which we will be building in this course in complete detail

Preview 04:59

In this lecture we will talk about the pre-requisite one must have in before starting to design our framework,

Pre-requisite before designing framework
01:31

In this lecture we will start designing our framework using Visual Studio 2015

Creating framework structure with Visual studio 2015 (Part a)
03:18

In this lecture we will continue designing our framework using Visual Studio 2015

Creating framework structure with Visual studio 2015 (Part b)
03:04
Presentation on Framework Design
8 pages
+ Deployment of EmployeeApp v1.0 to IIS
2 lectures 10:10
Attention - EAEmployee app is now available in hosted site as well
00:11

In this video we will discuss how to

1. Deploy EmployeeApp to IIS

2. How to create user in SQL server database

3. How deployment works

Preview 09:59
+ Developing Base Component
12 lectures 01:18:00

In this lecture we will talk about the introduction to framework development

Introduction to Framework Development
01:05
Pre-requisite of Framework Development
00:51

In this lecture we will write a very simple code with Selenium

Writing a simple code with Selenium
09:17
Attention - Some of code in this section will be upgraded in Section 15
00:11

In this lecture we will understand what Page Object Model is and how to work with POM in Selenium C#

Page Object Models
13:22

In this lecture we will start working with POM, but instead of initializing the page object in all the page classes, we will initialize in one class and inherit that class in all the page classes.

Preview 07:56
Handling Web Driver object with DriverContext
06:50

In this lecture we will understand and work with Page Navigation of POM

Page Navigation in Page Object Model
12:15

In this lecture we will achieve page navigation without Generics (by using boxing and unboxing of classes)

Page Navigation without Generics
05:16

In this lecture we will achieve page navigation using Generics in C# and overcome the problem we discussed in previous lecture.

Page Navigation with Generics in C#
12:10

In this lecture we will create a reusable method and a class which will address how to work with different browsers from within our framework.

Handling different browsers in framework
08:06

In this lecture we will talk about the summary of this section

Summary
00:41
+ Developing Helper Components
12 lectures 01:43:11

In this lecture we will talk about the introduction to helper components in our framework

Introduction
01:34

In this lecture we start our discussion on Data Driven testing and how to pull data from external data source such as excel sheet.

We will write a very generic method to read data from excel sheet and store that data into C# in-memory collection

Excel Helper (Part a)
11:32

We will continue our discussion by creating ReadData method to pull data from C# in-memory collection and perform data entry operation for our UI elements of web page.

Excel Helper (Part b)
10:52

This lecture talks about the breaking change happened in ExcelDataReader library in v3.0. It has the updated code snippets.

ExcelDataReader v3.0 breaking changes
10:12

In this lecture we will discuss the purpose of log files in automation framework and start writing logging library.

Log Helper (Part a)
08:15

In this lecture we will continue our discussion of creating log helper for our framework.

Log Helper (Part b)
06:35

In this lecture we will discuss how to create an HTML helper, which can be used to perform operation on numerous different HTML tables of web page.

HTML Helper (Part a)
15:10

In this lecture we will continue our discussion on creating a generic helper library which will be used to perform operation on the HTML table of web pages.

HTML Helper (Part b)
15:28

This lecture is a short crash course on C# Extension methods which help one to understand what extension methods are and how are we going to empower our helper libraries using extension methods of C#.

Crash course on C# Extension methods
07:49

In this lecture we will start our discussion on Database Extension helpers required for our framework

Database Extension Helper (Part a)
06:34

In this lecture we will continue our discussion on Database Extension helpers required for our framework

Database Extension Helper (Part b)
07:46

In this lecture we will wrap up our section

Summary
01:24
+ Developing Config Component
6 lectures 21:39
Attention - Some of code in this section will be upgraded in Section 20
00:09

In this lecture we will discuss the complete introduction of this section and the purpose of configuration in our framework.

Introduction
02:04

In this lecture we will talk developing configurations for our framework in classical way using App.config

Preview 08:09

In this lecture we will start our discuss on

  • How our configuration we are about to develop looks like
  • What are the different namespaces in C# we are going to use for developing our custom library for configuration
Configuration Development (Part a)
07:59

We will continue our discussion on custom configuration development

Configuration Development (Part b)
02:47

In this lecture we will wrap our discussion of this section

Summary
00:31
+ Developing Extension Component
5 lectures 24:10

In this lecture we will discuss about the introduction to developing extension components for our framework

Introduction
01:10

In this lecture we will create different reusable extension methods for our IWebElement type which can be used for our Application layer

Web Element Extension
08:07

In this lecture we will create different reusable extension methods for our IWebElement type which can be used for our Application layer

Web Element Extension (Contd)
04:28

In this lecture we will talk about the different methods we are going to create as an extension methods for our class such as

  1. WaitForCondition
  2. WaitForPageLoaded
Web Driver Extension
09:45

In this lecture we will wrap our discussion of this section

Summary
00:40
+ Refactoring
4 lectures 18:34

In this lecture we will talk about the importance of Refactoring in our framework before going any further

Introduction
00:46

In this lecture we will talk about the refactoring areas for our framework we developed so far.

Preview 03:52

In this lecture we will talk about TestInitialize class of Base library of our framework and its importance in our refactoring.

Initializing test using TestInitializeHook class
06:52

In this lecture we will talk about TestInitialize class of Base library of our framework and its importance in our refactoring.

Initializing test using TestInitializeHook class (Contd)
07:04
+ Behavioral Driven Development (BDD)
13 lectures 01:22:24
Attention - BDD course in Paid Udemy available in YouTube for FREE
00:03

In this lecture we will talk about the introduction of BDD and the purpose of BDD in automation testing world.

Introduction to BDD and Specflow
04:10

In this lecture we will be talking about what we are going to discuss in this complete section

What are we going to discuss
02:16

In this lecture we will install specflow in our visual studio and add reference to our project and start working from there.

Specflow Installation and getting started
08:18

In this lecture we will add step definitions and create basestep class required for all our step definitions within application test project.

Preview 11:39

In this lecture we will add additional steps for our step definitions.

Adding additional steps for step definitions
08:57

In this lecture we will add specflow hooks for our HookInitialize class, which will enable Scenario initialization before running our tests.

Adding Specflow Hooks for our HookInitialize Class
08:43

In this lecture we will understand how to work with different scenarios and reusing the existing steps with step definitions.

Adding additional Scenario and reusing existing step definitions
08:14

In this lecture we will continue our discussion on step definition creation and we will create a special class called Extended Steps, which will hold all the reusable step definitions which can be used across all scenarios.

Creating Extended Steps in step definitions to empower step reuse
07:05

In this lecture we will discuss how to resolve the NullPointerException that we got in last lecture and whats are the different ways we can resolve the issues.

Resolving the problem with CurrentPage property across different steps
07:17

In this lecture we will discuss about database testing with Specflow and how to achieve this using our DatabaseHelperExtension.

Preview 11:58
FIxing issue with Specflow Breaking change happened in 2019
02:14

In this lecture we will wrap up our discussion of this section

Summary
01:30
+ Complete Framework with new libraries [On going development]
1 lecture 00:09
Update framework with support of multiple browser and Database helper update
00:09
Requirements
  • Good understanding of Selenium
  • Good understanding of C# basic and little advanced
  • Good understanding on Specflow and BDD
Description

Automation framework development with Selenium C# is an advanced course designed to address the End-to-End framework development with tools such as

Season 1

  1. Visual Studio 2015/2017

  2. Specflow

  3. Selenium

  4. NUnit

Season 2 (2018 Upgrade)

  1. Selenium latest breaking changes support

  2. Extent Reporting Support

  3. Cross platform support

  4. Parallel Execution support

Season 2 (2019 Upgrade)

  1. Extent Report parallel execution Support

  2. Addressed Specflow 4.x breaking changes

  3. Addressed Extent report breaking changes


****************************** The course is 2019 updated *************************************


The curriculum of this course is designed not just by randomly choosing some of the topics what I know, Rather the course has evolved over a period of time (10+ years) by giving training to more than 150,000+ professional (both online and corporate training) and working in automation testing field 13+ years now

Hence the course is much refined version, meaning the course won't deviate from the topics its meant to be.

The course includes all the source code which we will discuss in the course, hence one must have all the source code required at the end of every section.

Finally, the course is for those, who are very serious about automation testing framework development from complete ground up.

Who this course is for:
  • Will be best suited for one who has good understanding on Selenium basics
  • Who has good understanding on basic/advanced concepts of C#
  • Best for developers and testers who are planning to build automation testing with ground up