
Explore automation testing from scratch with C sharp, Selenium 4.0, and page object model framework. Apply design patterns and behavior driven development with spec flow and Jenkins for parallel execution.
Explore the basic structure of a C# program and console app in Visual Studio 2022. Learn about namespaces, the main method, and using Console.WriteLine to display output.
Explore built in data types in C#, declare variables, and understand boolean, integer, and floating types, including min and max ranges and required suffixes for float and decimal.
Delve into common operators in C#, including assignment, arithmetic, and comparison operators, with practical examples in Visual Studio. Master conditional and ternary operators, and note the upcoming null coalescing operator.
Learn how nullable types work in c sharp, using the question mark to allow value types to hold null. Use the null coalescing operator to provide defaults and simplify logic.
Explore C sharp datatype conversion, including implicit and explicit conversions, type casting and the convert class; learn string to number conversions with parse and try parse, plus handling runtime exceptions.
Learn if and else if constructs in C#, handling not between values, and optimizing with else for efficiency; compare double ampersand vs double pipe and single ampersand vs single pipe.
Demonstrates using the switch statement in C# to replace if-else blocks, parse user input to int, and handle cases 10, 20, 30 with default and break.
Learn how to implement a while loop in c# by printing all even numbers from 0 to a user-entered maximum, with input parsing and loop control.
Master for and for each loops in c# to iterate an integer array, print values using console write line, and understand initialization, condition checks, and indexing alongside while and for.
Learn how methods in C# encapsulate reusable logic, differentiate instance and static methods, and define signatures with access modifiers, return types, names, and optional parameters.
Discover four parameter types in c#: value parameters, reference parameters, out parameters, and parameter arrays; learn how by value differs from by reference and last placement of the param keyword.
Master organizing code with namespaces, create alias directives to resolve conflicts between api automation and ui automation, and access classes via fully qualified names or aliases.
Explore class basics in C#: fields and behavior, constructor initialization, this keyword, and constructor overloading with an employee example, including default and parameterized constructors.
Explore how static versus instance members work in C# through a shopping discount example, and learn how static fields are shared, accessed via the class name, and initialized.
Learn how inheritance reduces code duplication by extracting trainer fields into a base class and extending it for full time and part time trainers with annual salary and hourly rate.
Explore polymorphism in C# by overriding a virtual method, using a base class reference to call derived class implementations, as shown with full time and part time trainer classes.
Explore method overloading in C# and how a class can have multiple methods with the same name but different signatures, including varying parameter counts, types, and out parameters.
Discover why properties are needed in C sharp, switch public fields to private, and enforce age greater than 18 and name not empty using getter and setter methods.
Explore C# properties and their use in replacing getter and setter methods with read/write, read-only, and write-only accessors, including auto implemented properties.
Explore interfaces in C#, including declaring interfaces, implementing them in classes, and multi-interface inheritance, with default interface methods in C# 8.0.
Explore abstract classes in C#, their role as base classes, and how to implement abstract methods in derived classes, including object creation restrictions.
Learn how delegates in C# act as type safe function pointers that hold a reference to a method for invocation via a delegate object, with the signature matching the method.
Explore the basics of exceptions in C#, including try-catch-finally, the exception class, and stack trace, with hands-on guidance on reading files using System.IO and StreamReader.
Explore creating a custom exception in csharp, inherit from the exception class, define message constructors, throw with new, and pass messages to the base class for display.
Learn why enums improve clarity in C# by replacing an int gender field with a gender enum (unknown, male, female). The enum provides self-explanatory values and eliminates remembering numeric mappings.
explore enum functionality in c# and learn to access underlying values with get values and get names; understand casting to int or short, customizing underlying types, and default value behavior.
Explore how C# access modifiers define the visibility of classes, interfaces, and member fields, covering private, private protected, protected, and public, including default behavior and base and derived class access.
Explore the distinction between types and type members in C#, distinguishing types (classes, interfaces, enums, delegates) from type members (fields, properties, methods) and their six access modifiers.
Learn how access modifiers for types work in C# — public and internal (default internal) control accessibility across assemblies, with examples using class libraries and project references.
Explore access modifiers in C# part two, detailing internal, protected internal, and private protected, and demonstrate how assemblies and deriving classes govern member visibility.
Learn how generics in C# use a type parameter to create reusable, type-safe methods and classes, explain boxing and unboxing, and improve performance by reducing casting.
Compare string and StringBuilder in C#: strings are immutable, creating new objects on the heap when updated, while StringBuilder is mutable and appends to a single object, avoiding orphan objects.
Learn how partial classes split a single class across multiple files, sharing fields and methods like first name, last name, and get full name, with benefits for large projects.
Learn how to create optional parameters in C# with a parameter array using the params keyword, making the first two numbers mandatory while the rest sum via a single-dimensional array.
Explore making an optional parameter in a C# method with a default value in an add numbers example, using mandatory first and second values, an optional array, and named parameters.
Explore making a third parameter optional in a C# add numbers method using the optional keyword or the optional attribute from System.Runtime.InteropServices.
Learn to use dictionaries in C# as a generic key-value collection. Add, access, and iterate with foreach, and prevent duplicate keys with contains key.
Learn to use a strongly typed generic list in C#, including adding items, accessing by index, counting, converting to array, and iterating with for each while preserving compile-time type safety.
Learn how lambda expressions simplify anonymous methods in C#, replacing the delegate keyword, and use them to count employees whose names start with the letter d.
Learn how dependency injection reduces tight coupling in C# by using constructor injection and an IoC container to manage object creation with interfaces.
Explore selenium and its components, including WebDriver and grid, to perform cross-browser testing of web applications, using browser drivers and the Json wire protocol.
Learn to invoke browsers with selenium in C# by installing NuGet packages, using WebDriver Manager to auto-download binaries, and configuring Chrome options for a maximized window and downloads.
Master Selenium locators to identify web page elements, including id, name, link text, partial text, class name, CSS selector, and XPath, using find element and find elements to perform actions.
Learn css selectors as a selenium locator, using id, class, attribute, and substring patterns to identify elements with hash, dot, and substring syntax.
Explore how XML Path Language (XPath) navigates the DOM, compare absolute and relative XPath, and use attributes like name for reliable, fast element identification.
Learn to create dynamic, relative xpaths starting with //, verify them in the HTML view, and build unique selectors using attributes like name and id, including contains and logical operators.
Learn to create and verify relative and absolute XPath using the Crow Path Chrome extension, inspect elements with the inspector, and generate CSS selectors while validating XPath accuracy.
Explore XPath axes to query elements, comparing absolute and relative XPath, and using axes like self, parent, ancestors, descendants, child, preceding, following, and preceding-siblings for dynamic locating.
Explore selenium synchronization, including implicit wait and page load timeout, plus unconditional thread.sleep and conditional waits, to align the driver with the application under test.
Learn how explicit waits using WebDriverWait and selenium extras wait helpers pause until element visibility, and compare fluent wait polling with implicit wait.
Learn to manage multiple windows in selenium with window handles, switching between parent and child windows by unique addresses, and using close or quit to return focus.
Explore how to enter and clear text in inputs with SendKeys and Clear, and how to read visible text and attributes using the text property and get attribute in Selenium.
Learn to check the status of elements on a web page by evaluating enabled, displayed, and selected properties, returning bool values to guide interactions.
Learn practical Selenium mouse operations using the Actions class, including right-click, double-click, drag-and-drop, and hover, with real-world examples in a C# WebDriver setup.
Discover how to use the Selenium JavaScript executor to click hidden elements, send text, and scroll pages, using both web element and document-based approaches, including scroll into view.
Learn how to handle iframes and frames in Selenium WebDriver, switching by name, index, or web element, then returning to default content to interact with elements.
Learn to handle javascript alerts in selenium by switching to the alert and using accept for ok, dismiss for cancel, and send keys for prompts; covers three alert types.
Learn to capture the current page state during test execution by casting the Selenium driver to the ITakeScreenshot interface, taking a screenshot, and saving it as a png for debugging.
Learn to perform keyboard actions in Selenium using the actions class and keys, including send keys, tab, backspace, and copy-paste with control down.
Learn how stale element reference errors occur when the page refreshes and elements disappear from the DOM, and implement resilient access with WebDriverWait, ignored exceptions, and retry logic.
Selenium 4.0 enables screenshots of specific web elements. Cast the element to a web element, call get screenshot, and save as file, or use the I take screenshot interface.
Discover Selenium 4.0's window and tab management features, including switch two with window type to open new tabs or windows, navigate, and return focus via window handles.
Explore Selenium 4.2's relative locators to identify elements by position using above, below, left of, right of, and with locator methods, with practical examples on password and email fields.
Explore Selenium IDE in Selenium 4.0, including improved element locators, record and playback, export tests to Java, C#, Python, .NET and JavaScript, and parallel test execution with Selenium IDE runner.
Discover how selenium grid enables parallel test execution across multiple machines, browsers, versions, and operating systems through a hub-and-node architecture that routes WebDriver client requests.
Explore selenium grid four architecture, including client-server interaction, router, session queues, distributor, event bus, and session map, plus nodes with browser, operating system, and version configurations.
Learn how to set up a standalone Selenium grid on a single machine, configure the hub and node, and run parallel tests using a remote WebDriver.
Explore hub and node grid architecture in selenium grid, including hub components, node execution, remote WebDriver, and scalable multi-OS, multi-browser testing with concurrent sessions.
You can learn about Page Object Model framework with C#, Selenium with Specflow even if you are not aware of programming knowledge in C#.
C# is one of the popular Programming languages developed by Microsoft. You can use C# programming language to build different application to deploy on windows, mac and on linux machines.
The Complete Selenium WebDriver with C# course is crafted carefully by professionals to turn a complete beginner into the greatest Automation Test Engineers.
Everything is carefully planned and executed. This course is very helpful who wants to learn C#, Selenium, Specflow and POM (Page Object Model) Framework.
This will help you to learn Industrial automation framework with POM and inside resources of framework section you can download code.
All Parts are independents. Suppose you want to learn POM framework then you can jump directly to Framework part.
Part 1 –
This helps to learn C# basics and advance concepts for automation.
Part 2:
This helps to learn Locator types, Xpath creation , Selenium from the scratch with new feature of Selenium 4.0
Part 3:
This helps to learn Practical implementation of Specflow.
Part 4: Git and GitHub
Learn all basic operations of Git
Part 5:
Build POM automation framework from the scratch with different design patterns.
Part 6:
Jenkin setup and job creation to execute test cases.