Selenium WebDriver
About Selenium Course
If you want to create robust, browser-based regression automation suites and tests, scale and distribute scripts across many environments, then you want to use Selenium WebDriver, a collection of language specific bindings to drive a browser – the way it is meant to be driven.
Prerequisites Installation of the tools
Setting up Java 8 SDK
Downloading and configuring Selenium drivers
Download and set up IntelliJ Integrated Development Environment (IDE)
Installation of Maven
Overview of Software Testing
Introduction to Software Testing
Manual vs Automation Testing
Tools of Automation Testing
Type of Testing Framework
Introduction to Selenium WebDriver
Selenium Introduction
Advantages and Limitations of Selenium
Configuration of Selenium
Creating first Selenium Class
Understanding Selenium WebDriver Interface
Setting up, creating, and using WebDriver object and methods.
Creating, executing, and verifying/assertion automation test scripts using Selenium WebDriver
Automation on different browsers with Selenium WebDriver
Maven
Maven Introduction
Creating first maven class using IntelliJ IDE
Understanding the structure of a maven project
Understanding pom.xml file
Dependencies and plug ins
Maven Lifecycle
WebDriver API
Common WebDriver methods
Setting up and creating driver on a maven project
Identifying WebElements using Selenium Locators
Writing Dynamic xpath and css
Checking the visibility of Elements using different WebDriver commands
JUnit Automation Framework
Getting started with Automation Testing using JUnit
Creating JUnit testing framework
Performing JUnit Automation Testing with Selenium and Maven
Annotations in JUnit
Assertions in JUnit
Handing checkbox, radio buttons, and dropdown
Handling alert(); frame(); and window();
Accepting, dismissing, and sending text for alert pop ups
Identifying an iframe using id, index, or WebElement
Switching to child or sibling iframe
Switching to parent iframe or default html page
Working with multiple windows using getWindowHandle(); method
Working with multiple windows using getWindowHandles(); method
Authentications
Handling Basic Authentications
Handling Cokies
Understanding cookies
Adding, removing, getting the cookies
Synchronization and Exceptions in Selenium
Implicit Wait
Explicit Wait
Fluent Wait
Custom Method
Selenium Exceptions
Actions Class in Selenium WebDriver
Mouse based actions
Keyboard based actions – Alt, Shift, Control
File download, File upload
Downloading files and verifying if download is successful
Uploading files and testing if upload is successful
Handling Windows application with Robot Class
WebTables
Working with WebTables
Identifying, comparing, and testing WebElements in WebTables
Collections concept and WebTables
JavaScript Executor
Interacting with elements usign javascript executor
Excel Automation
Read from excel file
Write to excel
Extent Reports
Extend Reports
Extent Html Reporter
Extent Test
TestNG
TestNG Introduction
Installation of TestNG
Advantages of TestNG over JUnit
Creating first TestNG class with Selenium on Maven
Annotations in TestNG
Prioritizing test cases
Ignoring test cases
Creating dependent test cases
Assertions in TestNG
Soft Assert in TestNG and assertAll(); annotation
Driver class
Utilities package and Other Reusable methods
Data Provider
Excel Automation
TestNG .xml files
Parallel Testing
Page Object Model
Page Object Model Introduction
Page Object Model Structure
Page Classes
Test Classes
Utilities
Singleton Pattern and Driver Class
Properties File
Data Driven Testing with Apache Poi
Data Driven Testing with Apache Poi
Excel Structure
Reading Data From Excel
Writing Data to Excel
Excel Utilities Class
Cucumber Behavior Driven Development (BDD) Framework
Cucumber & BDD Introduction
Installation of Cucumber
Creating first Cucumber class with Selenium on Maven
Cucumber BDD framework structure
Feature files & Gherkin Language
Step Definitions
Page Classes
Runner Class
Parametrizing feature files
Hook Class
DDT with cucumber
DataTables
Rerunning failed scenarios
Using collections in Cucumber
Parallel Testing
Creating your End to end test case