
Develop selenium webdriver tests in c# by mastering locator strategies and page object models; build data-driven and keyword-driven frameworks, then implement specflow for behavior-driven testing with git and teamcity.
Create a Visual Studio console project and edit Program.cs with console.WriteLine and console.ReadKey. Build, clean, run, and debug with breakpoints to step through code.
Explore data types in C#, including string, int (16/32/64), bool, char, and decimal. Learn variable declaration, string concatenation, console output, indexing, and @ verbatim strings.
Explore classes as blueprints with properties and behavior, and create objects using new to access instance variables and methods like get area, while learning about public access and constructors.
Explore how inheritance lets a derived class access properties and methods from a base class, using public, protected, and private modifiers to control accessibility in C#.
Interfaces achieve 100% abstraction by declaring methods without definitions for derived classes to implement. A class can implement multiple interfaces and use interface references to access only interface methods.
Explore encapsulation in C# by using a private data field with public get and set accessors, learn how properties simplify assigning and retrieving values, including shorthand property syntax.
Explore MSTest assembly initialize and assembly cleanup attributes, which run once per project before any test methods and after all tests, and learn category grouping and ignore for skipping tests.
Learn to build XPath selectors using and, or, equals, and functions like contains, text, normalize-space, start with, plus index and last. Compare absolute and relative XPath for robust selectors.
Explore descendant access view in XPath to locate elements with dynamic attributes by anchoring on a constant attribute, then filter by child, grandchild, and node type.
Learn to locate elements with the following axis view and the descendant axis view, using following-sibling, position, and last to target parallel nodes and descendants in XPath.
This lecture explains the ancestor access view in xpath, showing how to reach a node’s parent and ancestors and use following-sibling and descendant axes to locate elements.
Explore the preceding axis view, which selects nodes at the same level above the current node using preceding siblings and XPath.
Learn how to set up Bugzilla on a Windows box using a Win32 executable, with an installation wizard, port configuration, and login credentials.
Also refer to Section 23 :- Firefox Driver with Selenium 3.0
Explore modular, data-driven, and keyword-driven frameworks for selenium webdriver in C#, build a base webdriver class, use Web.config for configuration, and manage data and steps via Excel.
Outline a framework structure with base class for webdriver, component helpers, configuration readers, excel reader for data driven tests, interfaces, page objects, settings, and test scripts.
learn to read app.config configuration via configuration manager and appSettings, retrieving browser, username, and password with key-based access and convert the browser value to an enum for flexible framework initialization.
In this video, we will discuss about creating the base class. BaseClass is very important class for over framework, which will take care of launching and closing the browser based on the configuration specified in the App.config file
Configure chrome options, internet explorer options, and firefox profile to launch browsers with additional settings. Use add argument to maximize and add extension to load extensions.
Identify web elements with Selenium WebDriver using By methods such as id, class name, link text, css selector, name, tag name, and xpath, and distinguish find element from find elements.
In this video, we will discuss how to handle
1. Hyperlink
2. Textbox
3. Checkbox
Also we will develop certain utility method which is not prvided by Webdriver
In this video, we will discuss how to handle
1. Buttons
2. RadioButtons
3. Enabled and Text property form IWebElement interface
Also we will develop certain utility method which is not prvided by WebdriverLearn to capture and save screenshots with the WebDriver API during tests, returning a screenshot object and saving as jpeg with an optional timestamped file name.
PhantomJS provides a headless browser for web automation via JavaScript APIs, running in a daemon with no UI, using Selenium WebDriver and NuGet for driver setup and screenshots after actions.
Explore phantomjs option and phantomjs driver service classes to configure capabilities, toggle take screenshots, set logs, and customize phantomjs startup with default or specified settings.
Extract all web elements with find elements, returning a list (22 matches) or an empty list when none are found, and demonstrate retrieving ids with get attribute.
Learn to implement explicit dynamic waits with WebDriverWait, set implicit wait, tailor polling intervals and ignored exceptions, and build wait logic with delegates for elements and titles.
Explore using the expected conditions class to implement dynamic waits in Selenium WebDriver, leveraging element exist, element visible, and title contains for robust test flows.
Learn how to perform browser actions in the browser window using the Webdriver API, including back, forward, refresh, and maximize the window via the AI navigation interface.
Master handling multiple browser windows in selenium WebDriver with C#: switch between parent and child windows using window handles, implement reusable switch methods, and distinguish close from quit.
Learn how to interact with elements inside iframes by switching to the frame, using switch to frame with element, name, or index, and returning to default content.
Learn to handle JavaScript pop ups in Selenium WebDriver by switching to alerts, confirms, and prompts, using accept, dismiss, and sendkeys.
Handle JavaScript confirmation and prompt popups using Selenium WebDriver by switching to alerts, accepting or dismissing, and sending input to prompts within frames.
Learn to perform mouse actions with Selenium Webdriver using the Actions class, including context click, drag and drop, and move to element, then build, perform, and release actions in C#.
Automate autosuggest with selenium web driver by typing an initial string, waiting for the list, and selecting the matching item from the suggestions.
Use the webdriver action class to simulate keyboard actions with key down, key up, and send keys, including ctrl+t, alt+f+x, and ctrl+shift+a.
Learn to execute JavaScript from Selenium WebDriver by casting the driver to a JavaScript executor, then run scripts to fill fields, click buttons, and scroll to elements.
Master the page object model by mapping each web page to a dedicated class with web elements, actions, and navigation, demonstrated through home, login, and bug detail page flows.
Explore how Page Factory simplifies Selenium WebDriver element initialization in a page object model by using find by attributes, init elements, and direct element actions like send keys and click.
Selenium Webdriver is one of the most well-known testing frameworks. It is an open source project that allows testers and developers alike to develop functional tests to drive the browser. Selenium Webdriver can work on any browser that supports JavaScript, since Selenium has been built using
JavaScript.
The course is not limited to following content. In future I will keep adding the new topics to this course.
Basic of C# Programming
In this section, we are going to discuss about basic of C# programming language
1. Creating the Console Application
2. Data Types in C#
3. Conditional & Control Statements
4. Class & Objects
5. Inheritance
MsTest
In this section, we will discuss about MsTest attributes such as
1. TestClass and TestMethod
2. TestInitialize and TestCleanup
3. ClassInitialize and ClassCleanup
So on...
And source code shown as part of video lecture will be provided for download