Java & Selenium Training
Part-1: Basics of Java & Selenium
1) Automation
What is Automation Testing
Use of Automation Testing
Tools for Automation Testing
Why automation is important for your career?
What is Selenium
Advantage of Selenium
Introduction to WebDriver
2) Core Java/Programming
Data Types and Variables
String Class
Arithmetic Operators & Concatenation operators
Conditional & Decision Making
Single Dimensional Array
Loops (For, While)
Classes and Objects
Class Constructors
Functions in Java
Function Input Parameters
Function Return Types
Exception Handling
Inheritance
Polymorphism
Encapsulation
Data Hiding
Method Overloading
Method Overriding
Abstract class
Interface
Super/This Keywords
Final/Finally/Finalize Keywords
Concept of Garbage Collector and System.gc
Wrapper Classes
String Manipulation
Collections Basics (Array List, HashMap, Set, Hashtable)
3) Eclipse IDE
How to use Eclipse
How to run, stop, pause
How to debug in Eclipse
Understanding console output
How to put a break point
How to add Watch variables
How to find errors from Problem window
Usage of step into and Step over debug functionality
4) Set up Eclipse
Download and install java
Download and start Eclipse
Download and configure WebDriver java client
Set up a project
Create packages
Create a First Java test case
Import WebDriver Source file
5) WebDriver Interface
Architecture of WebDriver
WebDriver Interface
WebElement Interface
Launching Firefox/Chrome/Edge
6) Browser & Navigation Commands
How to Open a URL
Verify Page title
Strategy to get the Page Source
Difference between Close & Quit
Ways to Navigate Back & Forward
How to Refresh Page
Another way of Navigating to specific Page
7) WebElement Commands
Difference between FindElement & FindElements
Enter & Clear text from Input field
How Click action works differently on different elements
Managing Input fields, Buttons & Links
Finding all links on the Page
Extracting More than one object from a page
Extracting Objects from a specific area of a web page
Check if element is Present, Displayed, Enabled or Selected
8) Locators
What are locators
HTML Basics
HTML language tags and attributes
ID, Name, Xpath, CSS etc
Difference between Absolute & Complete Xpath
Finding your first element
WebElement Commands
9) Element Identification
Element Inspector in Mozilla, Chrome and IE
Element locator tool for FF
Various HTML locator strategies
XPath Helper Plug-in for Chrome
Selection of Effective XPath
Handling Dynamic objects/ids on the page
10) Tables, Checkboxes & Radio buttons
Identify table rows and columns
Extracting values from a cell
Dynamically Identify Tables Data
Select class in Selenium
Drop Down Handle
Select multiple values from the list
Select & Deselect operations by Index, Value & Visible Text
11) Selenium Waits, Alert & Switch Windows
Implicit and Explicit waits
How to use Expected Conditions with Waits
PageLoadTimeout & SetScriptTimeout property
Simple use of Thread Sleep
Concept of Fluent Wait in Selenium
Strategy to poll for an object
WebDriverWait and its uses
Different WaitUntil Conditions
Managing Ajax based components
Ways to handle Simple, Confirmation & Prompt Alert
Concepts of Set Interface in Java
Difference between Window Handle & Handles
Switching & Closing Windows, Tabs & PopUps
Concept of window ID
Extracting window IDs with Selenium Object reference
12) Actions Class
What is Action Class & What can we do with Action Class
Mouse Hover & Mouse Movement with Action
Drag and Drop Action
Right Click (Context click)
Click and SendKeys using Actions Class
13) Complex UI Scenarios
Handle Complex Calendars
Handle WebTable with Paginations
Handle infinite Page Loading
Complex ShadowDOM, SVG Elements
Complex Frames/iFrames
Page Wait use cases
Element Wait use cases
Part-2: Advanced Selenium
14) TestNG
What is TestNG
Benefits and Features of TestNG
How to download TestNG
Annotations in TestNg
How to run Test Suite in TestNG
Groups in TestNG
Depend On in TestNG
Test Case sequencing in TestNG
TestNG Reporters
TestNG Assets
TestNG Parameters
Multi Browser testing in TestNG
Parallel testing in TestNG
15) Automation Framework (End to end Project)
What is Automation Framework
Features of Automation Framework
Benefits of using Automation Framework
What is Data Driven Framework
What is Hybrid Framework
Page Object Model Design Pattern with Non Page Factory (By Locators) with
OOP concepts
16) Real Time Live PROJECT Automation
Introduction and Component of Frameworks
Designing Test Data Provider (Excel)
Designing Run Data Provider (Text/Property file)
Setting up Maven Build Tool
Data Provider Design
Creating Page Objects & Object repository
Writing Test Script and Fetching Test Data
Designing Test Runner for Framework
Asserts, Test Fails & Error logging
Reporters, TestNG Listeners and Log file Generation
Running test with different Test Data
Generating the HTML reports: Extent Report, TestNG Report
17) DevOps & Continuous Integration
Jenkins Setup Basics
Jenkins Report Generation (Extent Report)
Git WebHook
GIT Repo/GIT HUB
Git Commit, Clone, Pull Request, Branching
GIT Merge, GIT Add, GIT Push, Fetch & Pull
GIT Merge Conflicts, Stash
18) Maven Life Cycle
Maven Commands
Maven Life Cycle stages
19) Selenium Grid
What is Selenium Grid
Hub and Node Architecture
Set up Selenium Grid Hub
Register Nodes to the Hub
Configure DesiredCapabilities (Browser, Version, Platform)
Execute Tests on Remote Machines
Parallel Test Execution across multiple browsers and systems
View and monitor sessions on Grid Console
Selenium Grid 4 setup (Standalone and Distributed modes)
19) Docker
What is Docker
What is Docker Container
Create Docker Hub Account
Selenium Grid Configuration on Docker Hub
Run test cases on Dockerized Selenium Grid
Setup Infrastructure using Docker Compose
Scale up browsers at runtime
Shut down Docker Infrastructure
20) Cloud Execution
What is Cloud Execution
Benefits of executing tests on the cloud
Popular Cloud Platforms (Sauce Labs, BrowserStack, LambdaTest, etc.)
How to create a Sauce Labs / BrowserStack account
Connect local Selenium/WebDriver tests to Cloud Platform
Set up Remote WebDriver with cloud capabilities
Execute tests on different browsers, OS, and devices in the cloud
Running tests in parallel across multiple cloud browsers
How to view execution videos, screenshots, and logs on Cloud Dashboard
Cross-browser and cross-device testing with Cloud Execution
Integrate Cloud Execution with CI/CD tools like Jenkins