We may earn an affiliate commission when you visit our partners.
Course image
Karthik KK

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

Read more

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

The curriculum of this course is designed not just by randomly choosing some of the topics that I know, the course has evolved over a period (18+ years) by giving training to more than 299,000+ professionals (both online and corporate training) and working in automation testing field 18+ years now

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

The course includes all the source codes that 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 serious about automation testing framework development from the complete ground up.

In this course, you will learn to automate ASP NET Web API and WebUI projects using tools such as

  • Selenium 4.19

  • .NET 8

  • C# 12

  • XUnit

  • AutoFixture

  • Fluent Assertion

  • Specflow

We will also be using the following patterns in this course

  • Dependency Injection

  • Factory Pattern

  • Page Object Model Pattern

  • Lazy Initialization

At the end of this course, you will have

  • Complete understanding of C# with .NET 8

  • Complete understanding of Selenium with the latest and greatest changes

  • Designing a complete framework from the ground up

  • Idea to design a more extendable framework

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

End of this session one will understand what we will be discussing in the journey of this course
Introduction to Course
Basics of Test Automation Framework
Read more
Types of Test Automation Framework
Components of Test Automation Framework
Different coding Patterns and what we will be using in this course?
Above Presentations Downloadable
Getting Selenium Foundation ready to build stronger Test Framework
Introduction to Selenium
Installing Visual Studio 2022 and Selenium
Writing Simple Selenium Test
Exploring Selenium library and Code In-Depth
Working with Locators - Part 1
Working with Locators - Part 2
Working with Drop Down and Multi-Select Controls
Understanding and running Application Under Test (AUT)
Running AUT from Rider and VS 2022 IDEs
AUT Source code
Building Selenium Test Framework from complete ground up!
Introduction
Running Application Under Test in VS 2022 and from Commandline
Writing First Test with XUnit for our Application Under Test
Understanding Dispose Pattern and Disposing IWebDriver with IDisposable
Cross-Browser Testing with different browsers
Implementing strongly typed Cross browser Types
Creating Test Framework structure and moving Driver setup to DriverFixture
Accessing Selenium WebDriver from Test Framework
Creating Custom Test Settings for entire Test
Passing Test Settings from XUnit Tests
Future proofing DriverFixture with IDriverFixture Interface
Building Page Object Model code
Introduction and creating Page Object Code for HomePage
Page Object Model Code for Product Page
Source code
Building Extensions for Framework with C# Extension methods
Introduction and building Custom Methods for Selenium
Building Extension methods for Custom Controls
Switching your IDE from VS 2022 to Rider IDE
What's following Next ?
Introduction to HtmlTableExtension for handling Web Tables
Adding Table extensions
Running Test with HtmlTableExtension
Fusing HtmlTableHelper in our code base
Data Driven Testing
Understanding XUnit [Theory] for Data manipulation
Passing Data via Concrete Types
Automatic Data with [AutoData]
Source code until this section
Bringing Configuration in Framework
Building Configuration Reader
Reading from configuration and use it in framework
Building Automatic Waiting for Selenium
Understanding Problem Statement
Building DriverWait concrete class with Interface
Using DriverWait with Page Object Model code
Source Code
Bringing Dependency Injection in our Test Code
Introduction and understanding DI
Dependency Injection in XUnit
Executing test code with DI
DI in Page Object Model
Understanding Separation of Concerns
Summary
Bringing Specflow Testing and using our Framework
Creating and setting up Specflow project
Writing Page Object Model Codes
Dependency Injection in Specflow
Implementing Specflow Step Definition
Adding Assertions in our code
Specflow Reporting
Selenium Grid and Parallel Execution support
Selenium Grid Introduction
Update DriverFixture to support Selenium Grid
Understanding Docker Selenium grid
Running Tests in Docker Selenium Grid (Standalone)
Running In application in grid with same application container network
Running Tests in Dynamic Selenium Grid (YouTube video)
Building Custom Dynamic Selenium grid with TestContainers (Optional)
Parallel Execution Support
Adding Extent Reporting Support to our framework
Initialising ExtentReport in Specflow Hooks
Adding Step definitions with Passing Steps
Adding Step definitions for reports for Failing steps
Adding Screenshot on failure support in Extent reports
Running Multiple tests and get the reports for all of them
CI/CD of Selenium Tests within Docker container and GitHub Actions
Running App in Docker container and running Selenium tests in Console
Bringing Application Under Test and Test Framework in same code base
Checking-in the code in GitHub Repo
Creating GitHub Actions workflow for AUT

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Builds a strong foundation for beginners
Taught by Karthik KK, who are recognized for their work in automation testing
Develops highly relevant industry skills, knowledge, and tools
Covers unique perspectives and ideas
Teaches methods that are highly relevant to industry
Teaches skills that are useful for professional development

Save this course

Save Automation framework development with Selenium C# (Advanced) to your list so you can find it easily later:
Save

Reviews summary

"needs better video quality"

According to learners, this course on Selenium C# is well received but could use improvements in video quality. Learners mention blurry videos.
Videos are grainy.
"some video's somehow looking zoomed too much."
"please improve video pixels please"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Automation framework development with Selenium C# (Advanced) with these activities:
Review C# Basic Concepts
Refresh your memory on basic C# concepts like variables, data types, and control flow to strengthen your foundation.
Show steps
  • Revisit online tutorials or documentation to recap the basics.
  • Complete practice exercises or coding challenges to reinforce your understanding.
Show all one activities

Career center

Learners who complete Automation framework development with Selenium C# (Advanced) will develop knowledge and skills that may be useful to these careers:
Automation Tester
Automation Testers are responsible for designing, developing, and executing automated tests to ensure the quality of software products. This course provides a comprehensive overview of Selenium C#, which is a leading tool for test automation. By taking this course, you will gain the skills necessary to build and maintain effective test automation frameworks.
Test Automation Engineer
Test Automation Engineers are responsible for designing, developing, and executing automated tests to ensure the quality of software products. This course provides a comprehensive overview of Selenium C#, which is a leading tool for test automation. By taking this course, you will gain the skills necessary to build and maintain effective test automation frameworks.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites. This course provides a comprehensive overview of Selenium C#, which is an essential tool for testing web applications. By taking this course, you will gain the skills necessary to build and maintain effective test automation frameworks for your web applications.
Software Quality Assurance Manager
Software Quality Assurance Managers are responsible for overseeing the quality assurance process for software products. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for testing web applications. By taking this course, you will gain the skills necessary to manage and improve the quality of your software products.
Software Engineer
Software Engineers are responsible for designing, developing, testing, and maintaining software systems. This course provides a strong foundation in Selenium C#, which is a popular automation testing framework. By taking this course, you will learn how to create robust and maintainable test frameworks, which is a valuable skill for Software Engineers.
Test Manager
Test Managers are responsible for planning, organizing, and executing testing activities. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for test automation. By taking this course, you will gain the skills necessary to manage and improve the quality of your testing processes.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for ensuring the quality of software products. This course provides a comprehensive overview of Selenium C#, which is an essential tool for testing web applications. By taking this course, you will gain the skills necessary to identify and fix software defects.
Performance Tester
Performance Testers are responsible for testing the performance of software applications. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for automating the testing process. By taking this course, you will learn how to create robust and maintainable test frameworks, which can help you to improve the performance of your software products.
Security Tester
Security Testers are responsible for testing the security of software applications. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for automating the testing process. By taking this course, you will learn how to create robust and maintainable test frameworks, which can help you to identify and fix software vulnerabilities.
Software Developer
Software Developers are responsible for designing, developing, and testing software applications. This course provides a strong foundation in Selenium C#, which is a valuable tool for automating the testing process. By taking this course, you will learn how to create robust and maintainable test frameworks, which can help you to improve the quality of your software products.
Database Tester
Database Testers are responsible for testing the performance and reliability of databases. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for automating the testing process. By taking this course, you will learn how to create robust and maintainable test frameworks, which can help you to improve the quality of your database systems.
Business Analyst
Business Analysts are responsible for analyzing business needs and designing solutions to meet those needs. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for automating the testing process. By taking this course, you will learn how to create robust and maintainable test frameworks, which can help you to improve the quality of your business processes.
Project Manager
Project Managers are responsible for planning, organizing, and executing projects. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for automating the testing process. By taking this course, you will learn how to create robust and maintainable test frameworks, which can help you to improve the quality of your projects.
Technical Writer
Technical Writers are responsible for writing documentation for software products. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for testing web applications. By taking this course, you will gain the skills necessary to write clear and concise documentation for your software products.
Technical Support Specialist
Technical Support Specialists are responsible for providing technical support to users of software products. This course provides a comprehensive overview of Selenium C#, which is a valuable tool for testing web applications. By taking this course, you will gain the skills necessary to troubleshoot and resolve technical issues for your users.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Automation framework development with Selenium C# (Advanced).
A classic book that provides a comprehensive overview of software testing principles and practices. It covers topics such as test planning, test design, and test execution.
If you're new to programming in general, or if you have programming experience but in a language other than C#, this book great starting point. It covers essential Java concepts, which form the foundation of C# as well.
A practical guide with a collection of recipes to help you solve common problems and challenges faced during Selenium testing. It covers topics such as working with different browsers, handling dynamic content, and debugging Selenium tests.
Provides a practical guide to Behavior-Driven Development (BDD) using the SpecFlow framework. It covers topics such as writing BDD scenarios, using SpecFlow to automate tests, and integrating BDD with agile development practices.
Provides a comprehensive guide to using Cucumber for BDD. It covers topics such as writing effective BDD scenarios, using Cucumber to automate tests, and integrating Cucumber with other testing tools and frameworks.
Provides a comprehensive overview of agile testing methodologies and techniques. It covers topics such as test planning, test execution, and test reporting in an agile environment.
While this book focuses on JUnit, many of the concepts and techniques discussed can be applied to other unit testing frameworks such as XUnit. It covers topics such as writing effective unit tests, using annotations, and integrating JUnit with other testing tools.
While this book mostly focuses on .NET Framework 4.8, it's still a valuable resource for understanding the fundamentals of C# programming, especially for those with little to no experience.
A good resource to learn test-driven development (TDD) principles and best practices in C#. While it doesn't cover the latest versions of .NET and C#, it still offers valuable insights into TDD.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Automation framework development with Selenium C# (Advanced).
Advanced Selenium WebDriver with Java and TestNG
Most relevant
Selenium WebDriver 4 With Python - Novice To Ninja [2024]
Most relevant
Robot Framework Test Automation - Level 1 ( Selenium )
Most relevant
Selenium WebDriver JAVA |Best for Beginners |Real...
Most relevant
Selenium, C# and Everything in Between
Most relevant
Web Automation-Selenium-Ruby|E-2-E Cucumber integration...
Most relevant
Automation framework with Selenium Java (Advanced)
Most relevant
Selenium WebDriver with Java & Cucumber BDD
Most relevant
Selenium 4: The Big Picture
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser