
Introduction.
Install Visual Studio Community 2019 via the online installer and select essentials—ASP.NET and web development, .NET Core cross-platform development, Git for Windows, GitHub, NuGet Package Manager, and MSBuild.
Create a project layout in Visual Studio by building an empty solution, adding a dot net standard class library automation extensions, and targeting dot net core and dot net framework.
Create a C# test class and a test method using MSTest v2, annotate with TestClass and TestMethod for discovery in the test explorer, and prepare for web driver testing.
Initialize and run Chrome, Firefox, and Internet Explorer drivers using a shared interface in C#. Install Selenium WebDriver if needed, start sessions, execute basic commands, and dispose.
Learn the basics of implementing and interacting with web elements in Selenium using C#, including chrome driver setup, window maximizing, navigating pages, locating elements by xpath, and clicking.
Explore how to manipulate combo boxes using the select element in Selenium with C#, practicing select by index, text, and value, including single and multiple selections.
Explore a practical overview of xpath, learning robust, generic selectors in chrome with $x, using attributes like name and text contains for reliable locators.
Learn to implement a C# web driver factory that creates web drivers on the fly from a JSON-backed contract and serializes driver parameters for initialization.
Learn to implement a Selenium web driver factory in C#, using constructor chaining, JSON serialization, and a default Chrome driver with binaries when input is null or empty.
Develop a c# web-driver factory that creates local and remote drivers for chrome, firefox, internet explorer, edge, and mobile drivers via selenium grid and manages driver binaries and options.
Implement a web-driver factory in C# to switch between local and remote drivers, selecting Chrome, Firefox, Internet Explorer, or Edge via a simple get driver method.
Learn to implement a web-driver factory in csharp, creating tests that instantiate drivers from a factory, switch between chrome and firefox, and prepare for data-driven multi-browser runs.
Continue the driver implementation with edge, troubleshoot driver name mismatches or Microsoft Web driver aliasing, and update to the latest stable edge driver to resolve session creation issues.
Introduce the get element extension in C# for Selenium to wait for element existence using WebDriverWait, replacing find element with a default 15-second timeout.
Implement the get visible elements extension method in C#, returning only displayed elements as a list and supporting default and explicit timeouts. Contrast with get elements that include hidden ones.
Create a vertical window scroll extension for Selenium with C#, using execute script to scroll by a set amount and bring elements into view for reliable tests and silent paging.
Implement an actions extension in C# to send a bulk sequence of actions to the browser, extracting the driver from the element via IWrapsDriver and moving to it before performing.
Learn to implement the force click extension method in C# using JavaScript execution to click elements when standard clicks fail. Extract the driver, execute script, and return the element.
Create a submit form extension method for selenium with c#, using javascript to submit a form by index or by id, enabling tests to bypass issues and verify results.
Package your dotnet solution as a distributable across multiple target frameworks for easy consumption in a ci pipeline. Configure packaging options and metadata, then enable generate on build.
Replace direct project references with a NuGet package to distribute your C# extension, resolve compilation errors, and enable wider consumption by any developer.
Automate dotnet package distribution by configuring post-build events for CI/CD pipelines, publishing to a local repository, and validating version updates through rebuilds.
Deploy a local selenium grid hub and configure a hub json file to manage remote drivers. Start the hub on localhost:4444 and prepare to add nodes.
Continue the redeployment by adding a node configuration and hub file, setting the node role, hub, port, and preparing to add capabilities in the next lecture.
Extend a selenium grid node by adding browser capabilities for firefox, chrome, internet explorer, and edge, configuring one browser per node and the web driver protocol.
Learn to configure a selenium grid node and hub by setting driver paths, a selenium server jar, and a node.json configuration, then register the node and run tests remotely.
Set up a selenium grid with a hub and remote nodes to run tests across distributed machines using a remote driver in C#.
This course is for all of you who likes to become experts of Automation Testing (both beginners and advanced). This course is built as a complete end to end project with real world solution structure and development patterns, with special attention to real world problems and how to fix/solve/bypass them. Learn how to create logic layers and use development patterns to bring automation to the next level.
This course is different because on top of teaching how to use and implement the selenium web driver, it also teaches how to use it in the real world by building a complete testing solution with dynamic testing, schedule runs, reporting and branching.
Here you will find all the tricks and secrets which you will not find by searching on the internet. Thousands of experience hours were fined into one course.
Mastering this course will give you huge advantage when looking for Web Automation Developer job. You learn how to deal with the most complicated web automation problems out there.
This course is not about Selenium rather it is about how to use selenium with an enterprise level solution and how to create a powerful framework and API's which can be consumed by other developers. You will find here lectures suitable for all development levels, starting with how to create utilities and tool box for beginners ending with state of the art architectures for advanced developers who wish to move their skills to higher level
No more "How to do..." it is time for "This is how it's done!".