Automation framework development with Selenium C# (Advanced)
4.6 (188 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
580 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Automation framework development with Selenium C# (Advanced) to your Wishlist.

Add to Wishlist

Automation framework development with Selenium C# (Advanced)

An End-to-End Selenium automation framework development course
4.6 (188 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
580 students enrolled
Created by Karthik KK
Last updated 7/2017
English
Price: $65
30-Day Money-Back Guarantee
Includes:
  • 7.5 hours on-demand video
  • 1 Article
  • 22 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I 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
View Curriculum
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

  1. Visual Studio 2015
  2. Specflow
  3. Selenium

The curriculum of this course is designed not just by randomly choosing some of the topics what I know, Rather the course is evolved over a period of time (5+ years) by giving trainings to more than 100+ professional (both online and corporate training) and working on automation testing field (9+ years)

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 materials along with some of the lectures we will discuss, hence one must have all the source code required.

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

Who is the target audience?
  • 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
Students Who Viewed This Course Also Viewed
Curriculum For This Course
73 Lectures
07:45:46
+
Introduction
1 Lecture 06:08

Introduction to the complete course discussion in under 10 mins

Preview 06:08
+
Introduction
5 Lectures 09:52

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
1 Lecture 09:59

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
11 Lectures 01:17:49

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

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
5 Lectures 21:30

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)
11 Lectures 01:20:07

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

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

Summary
01:30
5 More Sections
About the Instructor
Karthik KK
4.3 Average rating
3,709 Reviews
49,057 Students
17 Courses
Software Architect, Consultant,Youtuber and Best Seller

I am Karthik K.K. I do consulting, blogging and researching on various different tools and technologies which inspires my interest. I have been into Software Automation Testing for over 10+ years now and my interest in learning new stuffs which enables automation has never been compromised.

Due to my passion in automation testing I got fully exposed to tools and languages like

Desktop & Web : QTP, Selenium, Specflow, VS Coded UI, Ranorex ,Test Complete and Cucumber
Mobile : Appium, Robotium,Calabash, Espresso, Selendroid
Languages : C#, Java, Ruby, Powershell, Javascript, VBScript 
Cloud Tools : Azure, Dockers
Misc Tools: Mockito, Rest-assured, Bound-Box,FluentAutomation
Interested in: MVC, Entity framework, LINQ, Fakes, Distributed deployment, SAAS