SELENIUM C# CUCUMBER (SPEC-FLOW)
Module1: Introduction to Automation Testing
- What is Automation testing
- Drawbacks of Manual Testing
- Advantage and disadvantage of Automation testing
- What test cases can be automated
- What test cases cannot be automated
- Things to be done before automation testing
- Types of Automation Tools
- What is Selenium
- Who developed Selenium
- Selenium Components
- Selenium IDE
- Selenium WebDriver
- What is WebDriver
- Why WebDriver
- Difference between WebDriver and Selenium RC
- Architecture of selenium web Driver
- Configuring WebDriver in VSTS
- Downloading WebDriver Jars and configuring in VSTS
- Record and Playback on sample site
- HTML Driver
- Firefox Driver
- IE Driver
- Chrome Driver
- Safari Driver
- Firebug for Chrome
- Fire path for xpath generation
- Inspect IE developer tool bar
- Finding relative xPath
- Locating elements by ID
- Locating elements by Class
- Locating elements by TagName
- Locating elements by Name
- Locating elements by Link Text
- Locating elements by Partial Link Text
- Locating elements by XPath
- Locating Elements by using CSS
- Locating Elements with dynamic values
- Introduction to C# Programming
- What is C#
- Features of C#
- Why C# for Selenium
- Installation of the Visual Studio
- First Visual Studio Project
- First C# program
- Primitive Data types
- Declarations
- Variable Naming conventions
- Numeric Literals
- Character Literals
- String
- Arrays
- Non-Primitive Data types
- Assignment Operators
- Arithmetic Operators
- Relational Operators
- Logical Operators
- Increment and Decrement Operator
- Operate-Assign Operators
- Conditional Operators
- Operator Precedence
- Type Conversion
- Conditions
- If
- If-else
- If-else-If
- Nested If
- Switch
- Looping Conditions
- For Loop
- Arrays
- Single Dimensional Arrays
- Multi-Dimensional Arrays
- Practical usage of arrays in Selenium
- Drawbacks of arrays
- Functions
- What are Functions
- String Methods
- Math object methods
- Date & time methods
- Introduction
- Object
- Classes
- Constructors
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism (Over Loading & Over Riding)
- Exceptions Fundamentals
- Importance of exception handling
- Exception and Error
- Exception handing with try catch block
- Final and Finally
- Text Files
- Microsoft XLS Files
- Xml Files
- Introduction to Collections API
- List Interface
- Array List Class
- Map Interface
- Hash Map Class
- Textbox
- Links
- Buttons
- Check Box
- Radio Button
- List Box
- Drop Down
- Action Class
- Keyboard Events
- Drag & Drop Actions
- Mouse Hover Action
- Right Click, Double Click & Tool Tip
- Get windows List
- Switching between windows
- Handling elements present in different windows
- Accept
- Dismiss
- Get text from Alert
- Send text to Alert
- What is IFrame
- Locating iFrames
- Switching between iFrames
- Handling iFrames
- How to get Row count and Column count
- How to get data from specific cell
- Dynamic Web Table Handling
- What is XPath
- When to Use XPath
- Absolute XPath/Relative XPath
- Specifying conditions with XPath
- CSS Selectors
- Customizing CSS Selector
- Different type of Waits
- Implicit Wait
- Explicit Wait
- PageLoadTimeout
- What is NUNIT
- Configuring NUNIT in Project/ Visual Studio
- NUNIT annotation
- Running Test in NUNIT
- Skipping Tests
- Parameterizing Tests
- Using Assertions
- SpecFlow Feature File
- Gherkin Keywords
- Step Definition File
- Transform Table into Dictionary
- Transform Table into DataTable
- CreateInstance in SpecFlow Table
- CreateSet in SpecFlow Table
- ScenarioContext Current in SpecFlow
- CreateDynamicSet – SpecFlow Assist Dynamic
- CreateDynamicInstance – SpecFlow Assist Dynamic
- What is Continuous Integration & DevOps
- What is Build Management System
- Different BMS like VSTS
- Configuring CI system
- Launching browser with Selenium