Selenium Course

A masterclass Selenium Course with the most advanced technology and better examples so that you can automate any kind of requirement in real life or the office. This course is fully designed for the beginner who is looking for Automation testing using Selenium from scratch, Course contains many workshops, assignments, web designing, Coding challenges and many other tasks which will give you proper understanding and guidance in your automation testing path.

Topics Covered

  1. Core Java Basic
  2. Learn Automation using Selenium
  3. Learn MavenGit, and Jenkins
  4. Set Up Jenkins for execution automation framework
  5. JUNIT4Test-NG, and Cucumber Execution
  6. Generative Artificial Intelligence Integration with JUNIT4, TestNG, and Cucumber
  7. Different Types of Automation Frameworks
  8. Grafana Integration with Realtime Execution
  9. SQL Queries for Relational Database MySQL Server
  10. Influx DB as a non-relational Database exposure
  11. Docker Understanding
  12. Realtime Execution using Selenium Grid
  13. Integration Sonar Qube for Code Quality Checks
  14. Manual QA Concepts
  15. API Testing – Complete Guide
  16. Basic Understanding – Mobile Testing

Course Highlingts / Contents

Demo Class
Course Intro
Syallbus-Doubts and Explanation
Framework, Approaches Explanation
INTRODUCTION
Installing Java
Java Setup
Setup Environment
Compiler and Interpreter
Compiler – Revisit
Java Architecture
Execute Java Class from CMD
Build Path and Envirable Varibales in Java
Execute First Code in Java
System.out.println Statement Results
Integrated Development Environment
IDE Understanding
Eclipse Installation
IntellIJ Installation
ShortCuts and Setup in Eclipse and IntellIJ
Git – Eclipse Project
Eclipse – Setting up Java
Java – Introduction
Java Feature
Obfuscation
Masking
Encoding
Keywords
Java File Conventions
Java Class – Conventions
Java Package
Blocks in Java
Data Type
Byte and Bits
32 Bits and 64 Bit Machines
IPv4 and IPv6
Number System
Data Types in Java
Numerical Data Type and Cyclic Nature
Floating Type DataType
Boolean DataType
Character DataType
ASCII Code
Unicode Code
Programming Mistakes – Y2K And Deep Impact
Internationalization concept Characters
Special Character and Escape Character
Other Characters
Variables
Variable Concept in Java
Define and Input Variable from InputStream, Scanner
static variables
Final and Constant
instance variable
local variable
Command Line Arguments
Parent and Child Block and Variable Scope
Operators
How to take input from Console – Scanner class
Unary Operator
Arithmetic Operator
Shift Operator
Relational Operator
Bitwise Operator
Logical Operator
Ternary Operator
Assignment Operator
Operator Precedence
Decision Making and Loops
If Else Conditions
If ElesIf else Conditions
Switch Case
Flags in Java
Loop Concept
While Loop
do while loop
for loop
foreach loop
break and continue keyword
Practice Assignments
Logical improvement
Algorithm Based Practice Question
Prime Number Assignments
Debugging
What is Debugging ?
What is breakpoint ?
Basic of Debugging ?
Watch in Debugging
Expression in Debugging
Interview Questions
Interview Questions
Demo Session
Introduction to Course
Java Basic Understanding
Object Oriented Approach in Java
IDEs
Configure Jars in IDEs
Eclipse Layout Introduction
IntellIJ Layout Introduction
Console Writing in IDEs
Different formatting for System.out.println
Classes and Object
What is Object?
Class – Introduction
Object Creation
Object Reference – How It works ?
instance variables
static variables
Memory Locations in Java
Class variables
Variable loading Scope
Heap
Stack
Methods and Constructor
Method – Introduction
return Keyword
void methods
Constructor in Class
Constructor with Access Modifiers
this keyword
Parameters and Arguments
Call By Value Concept
Call by Reference Concept
static Keyword
static methods
Variable Shadowing in Methods
final parameters
Methods calling method
Recursive methods
instance variable scope in methods
static variable scope in methods
No name instance blocks in Java
static blocks in Java
Single Line Comments
Multiline Comments
Documentation Comment
Memory Loading Priority in Java
instance and static variable scope in methods
Method Management in Stack
Garbage Collection
Method Overloading
Overloading with main method
Arrays
Why we use Array?
Array Implementation
Array Indexing
Array Iteration
Challenges with Array
Varargs Concepts
Method Overloading And Varargs
String in Java
String – Introduction
String Immutability
String Memory Locations
String Methods
String Buffer and String Builder
System.out.println Behaviour
Applied Coding with Predefined Classes in Java
File Class
Math Class
Random Class
Date Class
Scanner Class
Calendar Class
== operator
null in Java
Access Modifiers
public
protected
default
private
use of access modifiers with methods
use of access modifiers with variables
use of access modifiers with class
OOPS Approach
Access Modifiers
Singleton Design Pattern
Variable Scopes
How Objects works in Java?
Top Down and Bottom Up Approach
Encapsulation in Java
Polymorphism Introduction
Inheritance Introduction
Abstraction Introduction
Inheritance
What is Inheritance?
Type of Inheritance
IS-A and HAS-A Relationship
How Inheritance works?
Use of protected Access modifier
Constructor Chaining
Object Class
Method Overriding
Overiding and Access Modifier
Overriding with toString() Object class
Overriding and Overloading
Runtime Polymorphism
final keyword with inheritance
super Keyword
Overriding with Exceptions
Final Class,methods and Variables
Polymorphism
Polymorphism – In Detail
Runtime Polymorphism
Abstraction
Abstraction – Why We need it?
Abstract Class
Abstract Class and inheritance
Partial Abstraction implementation
Diamond Problem in Java
Interface in Java
Full Abstraction with interface
Types of Interface
Access Modifier with interface
EXCEPTION HANDLING
Error and Exception
Inheritance Tree
Type of Exception
How to handle Checked Exception
Runtime Exception
try catch finally block
throws Keyword
Custom Exception
Overriding with inheritance
File I/O
File Stream Understanding
Flat File Reading and Writing
Properties File Read/Write
Xml File Read/Write
JSON Read/Write
Excel Read/Write
Log File Read/Write
Enum, Annotation and Wrapper Class
Enum Advantages
Wrapper Class in Java
Autoboxing and Unboxing
Annotation Introduction
Annotation Advantages
Generics
Introduction to Generics
Generic Advantages
Java Collections
Collection Introduction
Collection Inheritance Tree
List interface
ArrayList
ArrayList Methods
LinkedList
LinkedList Methods
Set Interface
HashSet
LinkedHashSet
TreeSet
Queue Interface
Map Interface
Iterators in Java
Comparable and Comparator interface
HashTable and Hashing Concept
Collection – When and which one?
Threads
Thread life Cycle
Thread – How Parallel Works
Thread Class and Runnable interface
Runnable and Callable Interface
How to exchange data between threads?
synchronized Keyword
deadlock and its solution
JDBC – Database interaction
Java Database Connectivity – Introduction
Installation Oracle DB
Connection interface
Connection with Driver Manager
Statement interface with Prepared and Callable Stataments
ResultSet interface
ResultSetMetaData in JDBC
Other Concepts in Java
Garbage Collection and finalize method
GUI Creator
Jar Bundling in Java
Stream API
Stream API – Introduction
map method in streams
filter method in streams
collect method in streams
Combined Assignments
Luhn Algorithm – Mod 10 Assignments
Star Program
Character Count Assignments
Pizza Centre
AUTOMATION – INTRODUCTION
Automation – Introduction
What, Why, When, Where, How, Whom Concept
Emulation and Simulation in Automation Testing
Top Down and Bottom Up Approach
Framework and Architecture
INTRODUCTION
Selenium – Introduction
Why Selenium
Selenium Suite Introduction
Selenium IDE
Selenium RC
Selenium 3 – Webdriver
Selenium 4 – Webdriver
Selenium Grid – Introduction
Selenium WebDriver
Setup Driver
Opening Browsers first time in selenium
Maximize window
Responsive Window handling
WebDriver interface
WebElement
SendKeys in Selenium
click in selenium
findElement & findElements
navigation command
different methods with webdriver and webelements
Timeouts in Selenium – implecit, Fluent and Explicit
Implicit Wait in Selenium
Explicit Wait in Selenium
ExpectedConditions class in Explicit Wait
Fluent Wait in Selenium
Windows operations in Selenium
JavaScript Executor Usage in Selenium
close and quit
Locators in Selenium
Locators in Selenium
id Locator
name Locator
LinkText Locator
partial Linktext Locator
tagName locator
class Locator
xpath Locator
XPath from Browser – Developer Tool
css Selector Locator
Relative Locator in Selenium
Demo Website to Test
http://the-internet.herokuapp.com/
Setup Project for automation
Docker Setup for Project
Actions in Selenium
Select and Drop Down in Selenium
Actions – Introduction
Mouse Based Interactions
Keyboard based interaction
Robot Class Usage
MoveToElement Implementation
RIghtClick – ContextClick
Scroll Using Actions
Build and Perform Implementation
Windows and Frames in Selenium
Window Switching Concept
Window Handles
Frame Switching Concept
Alerts in Selenium
Windows Alerts in Selenium – Robot and AutoIT
AutoIT – Introduction and How to Script in AutoIT
Navigation in Selenium
Handling Cookies in Selenium
Alert – accept and dismiss
Alert – getText Implementation
Others Topics in Selenium
Take Screenshots in Selenium
How to Zip Report in Selenium
Logging Event in Selenium
Desired Capabilities in Selenium
EventFiringWebDriver Classes
EventListener Classes
How to create Executables in Selenium
Different Available WebDrivers
FirefoxDriver
EdgeDriver
ChromeDriver
InternetExplorerDriver
HeadLess Driver
Desired Capabilities for all browsers
RemoteWebDriver
RemoteWebDriver – Introduction
Understand JSON Wire Protocol
WebDriverBackedSelenium
RemoteWebDriver – Desired Capabilities
Page Object Model Pattern in Selenium
Page Object Model – Introduction
Page Object Model – Implementation
PageFactory Model – Introduction
PageFactoryModel – Implementation
@FindBy and @FindAll Annotations
Good Practice for the PageObject Design
Selenium Grid
What is Selenium Grid ?
Hub
Nodes
Setting up Selenium Grid
Parallel Execution using grid
Version Control – Understanding
What is Version Control?
Keeping Historical Copies
Advantage of Version Control
Git Introduction
What is Git?
The Command Line
Installing Git
First Time Git Setup
Creating github Repository
Git Basics
Getting a Git Repository
Clone Project
Basic Pull and Push Code
Recording Changes to the Repository
Viewing the Commit History
Undoing Things
Wokring with Remotes
Tagging
Git alias
Git Branching
Basic Branching and Merging
Branch Management
Branching Workflow
Remote Branch
Rebasing
Git on Server
Git on Server
SSH Public Key
Smart HTTP
GitWeb and GitLab
Distributed Git
Distributed Workflows
Contribution to a project
Maintaining a project
GitHub
Account Setup and Configuration
Contributing to Project
Maintain a project
Github Scripting
Git Tools
Interactive Staging
Stashing and Cleaning
Seaching , Rewriting and Reset
Advanced Merging
Debugging in GIT
Submodule , Bundling, Replace and Credential Storage
Configuration, Attribute and Hooks
What is Browser
What is Browser ?
What is www
How internet works
What is IP Address
Client – Server Interaction
How Client Server Interaction works
What is client
What is n-tier architecture
What is response in Client Server Interaction
Developer Tool
DOM Tab
Console Tab
Network Tab
Sources Tab
How to check performance
Locate Element in DOM
running java script in console
change css structure in a webpage
Unit Testing
What is Unit Testing
Importance of Unit Testing
Advantage of Unit Testing
Install Unit Testing
Configure JUnit
Configure JUnit with Maven
JUnit Annotation
@Test
@Before
@After
@BeforeClass
@AfterClass
JUnit Assertion
Assertion in JUnit
Assert Class in JUnit
JUnit Test Suites
@Suite Annotation in JUnit
Ignore Cases in Junit
@Ignore Annotation in JUnit
JUnit Expected Exception
Parameterized cases
TestNG-Introduction
What is TestNG?
Where and When to use TestNG?
Comparison among different type of Execution Tool alike
TestNG-Annotation
@BeforeSuite and @AfterSuite
@BeforeTest and @AfterTest
@BeforeGroup and @AfterGroup
@BeforeClass and @AfterClass
@BeforeMethod and @AfterMethod
alwaysRun, dependsOnGroups, dependsOnMethod, enabled, groups, inheritGroups, onlyForGroups
@DataProvider
@Factory
@Listeners
@Parameter
@Test
Test Annotation
Test Annotation
invocation Count
description
enabled
dataProvider
alwaysRun
expectedExceptions
groups
priority
successPercentage
testng.xml
testng xml design
different scenario execution using testng.xml
test in TestNG.xml
suite in TestNG.xml
execute parallel execution
use of @BeforeTest using testng.xml
Running TestNG
CommandLine
Maven
IDE
TestMethod, Test Classes and TestGroups
Test Methods
Test Groups
Exclusion Groups
Partial Groups
Parameters
Dependencies
Factory
Class Level Annotation
Ignoring Test
Parallelism and time-outs
Rerunning failed tests
Junit Tests
Running TestNG Programmatically
TestNG Listeners
Test Results
Success, failure and assert
Logging Listeners
JUnitReports
Reporter API
Xml Reports
TestNG Exit Codes
Tests Dry Run
BDD – Introduction
What is BDD ?
Requirement of BDD in industry
BDD in Testing Requirement
BDD standared
Gherkin language
BDD – Components
Feature
Scenario
Scenario Outline
Gherkin – Given When Then And
Background
BDD using Cucumber
Writing Step Def
Using DataTable
Using Examples from Data Table
Hooks in Cucumber
Test Runner Classes
Execution Feature file using Cucumber
Hooks and Tagging
Understanding Before and After hooks
Using tags to categorize and filter scenarios
Introduction to Logging and log4j
Purpose and Importance of Logging
Overview of Logging Frameworks
Introduction to log4j
Log levels
ignore
ignore
TRACE
DEBUG
WARN
INFO
FATAL
ERROR
Setting Up Appenders
Console-Appender
FileAppender
JDBC Appender
SMTPAppender
Configuration of log4j
log4j properties file
log4j xml file
Layouts and Formatting
Layouts- Simple Layout, HTML Layout, XML Layout , Pattern Layout
Advanced Configuration
Custom Appenders
Custom Layouts
Log Filtering- Filters in Appenders, Threshold Filters
Asynchronous Logging
Practical Implementation
Integrating log4j with Java Applications
Best Practices for Logging
Performance Considerations
XPath – Introduction
What is XPath
How to use XPath in HTML
Absolute XPath
How to write Absolute XPath in HTML
Single Slash in Absolute XPath
Use Tag in XPath
Attribute in XPath
indexing in XPath
Relative XPath
Write Relative XPath in HTML
XPath Methods
start-with method in XPath
text() method in Xpath
contains method in XPath
normalize-space in XPath
translate method in XPath
XPath Axis
ancestor
ancestor-or-self
child
descendant
descendant-or-self
following
following-sibling
parent
preceding
preceding-sibling
Assignments
XPath Level 1 Assignments
XPath Level 2 Assignments
XPath Level 3 Assignments
XPath Level 4 Assignments
XPath Level 5 Assignments
Introduction
What is Software Testing?
Importance of Testing
Roles and Responsibilities of a QA
What is Quality Assurance
What is Quality Control
Purpose and objectives of testing
Fundamental test process
Testing and debugging
Verification and Validation
Models
WaterFall Model
Agile Model
Spiral model
V-Model
Iterative model
Client-Server Architecture
Thin Client Softwares
Thick Client Softwares
Web vs Desktop Applications
Mobile App Testing Basics
QA Environments
DEV (Development Environment)
Testing/QA Environment
Staging Environment (Pre-Prod or UAT)
Production Environment (PROD)
Sandbox Environment
Integration Environment
Type of Testing
Positive Testing
Negative Testing
Smoke Testing
Sanity Testing
Regression Testing
Functional Testing
Non-Functional Testing
Interface Testing
Integration Testing
System Testing
UAT (User Acceptance Testing)
Alpha and Beta Testing
Black Box Testing
White Box Testing
Software Development Life Cycle
Requirement Gathering and Analysis
System Design
Implementation / Coding
Testing
Deployment
Maintenance
Test levels and test types within each development phase
Maintenance testing
Agile Process
What is Agile ?
Agile Ceremonies
Sprint Planning
Agile Velocity
Sprint Refinement Meeting
Daily Standup Meeting/Status/Daily Scrum Meeting
Agile Roles (Scrum Master, Product Owner, QA)
Agile Grooming Sessions
Sprint Review Meeting
Retrospective Meeting
Static Techniques and Dynamic Tecniques
Static techniques and the review process
Types of reviews
Dynamic Techniques
Software Testing Life Cycle
Test Initiation
Test Plan
Test Scenario Identification
Test Case Design
Test Case Execution
Test Summary Identification
Test Planning
Entry Criteria and Exit Criteria
Estimation Techniques
Test Case Prioritization
Test Pyramid
Testing Quadrants
Risk Management
Project Risks and Product Risks
Product Risk Analysis
Product Risk Control
Testing Techniques
What is Scrum?
Testing Techniques and Test Case Design
Boundry Value analysis
Equivalence Partitioning
Decision Table Testing
State Transition Testing
Use Case Testing
Agile Architecture
Estimation Process / User Stories/Agile Velocity / Agile Grooming
Requirement Traceability Matrix (RTM)
Forward RTM
Backward RTM
Importance of RTM in Testing
Defect Life Cycle
Defect Life Cycle
What is Defect?
Error, bug, defect and Failure
Priority and Severity
Reproducible Defect
Non-Reproducible Defect
Interview Question
Interview Question
API – Introduction
What is API ?
Why do we need API in Real world ?
Weather API – Open Source API
API – Components
API Host
API Endpoint
API Header
API Method
API Request
API Response
API Response Code
API Response Code
Informational Response Code – 100 Series
Successful Response Code – 200 Series
Redirectional Response Code – 300 Series
Client Side Response Code – 400 Series
Server Side Response Code – 500 Series
API Response
API Response Header
API Response Body
JSON Understanding
JSON Array
Json Object
Write JSON Path to get information from Response
POSTMAN – Introduction
POSTMAN – Installation
Collection in Postman
API – Testing using POSTMAN
Dependent API Collection in POSTMAN
Automation Testing in POSTMAN
Data Driven Testing using POSTMAN – newman
Data Warehouse concept
What is DBMS?
Advantage of using DBMS
Databases implementation in Real Word
Relational Databases
Non-Relational Databases
No-SQL Databases
SQL Object
What is SQL
What is Table?
Datatypes in SQL
Columns in Table
DDL, DML and DCL in SQL
insert data in table
update data in table
select in table
CRUD Operations
Delete, Drop and Truncate
Alter in SQL
ORDER BY in SQL
In Keyword
Joins in SQL
Why we need Joins
INNER JOIN
LEFT JOIN
RIGHT JOIN
FULL JOIN
SELF JOIN
Aggregate Function
MIN, MAX
COUNT
AVG
SUM
Window function
RANK
DENSE RANK
ROW NUMBER
LAG, LEAD
clause in SQL
WHERE
AND and OR
HAVING
GROUP BY
Sub-Query
in keyword
SQL Constraints
Not Null
Primary Key
auto-increment
Composite Key
Unique Key
Candidate Key
Foreign Key
Check
DEFAULT
CREATE INDEX
Schema
What is schema?
Advantage of Schema in Data warehouse
Star Schema
Snowflakes
Merge tables
Union In SQL
Union All in SQL
Intersect in SQL
MINUS in SQL
SQL Operators
Arithmatic Operator
Bitwise Operator
Comparison Operator
Compound Operators
Logical Operator
Introduction to Docker and Containers
What is Containerization?
Key Docker Concepts
Use Cases for Docker
Setting Up Docker
Installing Docker
Verifying Docker Installation
Basic Docker Commands
Working with Docker Images
What is a Docker Image?
Creating Docker Images
Image Repositories and Docker Hub
Working with Docker Containers
What is a Docker Container?
Interactive Containers
Container Logs and Debugging
Docker Volumes and Storage
What are Docker Volumes?
Networking in Docker
Docker Networks Overview
Port Mapping and Exposing Services
Docker Compose
Introduction to Docker Compose
Managing Multi-Container Environments
Docker Monitoring and Logging
Docker Monitoring and Logging
Docker Troubleshooting
Docker Troubleshooting
Hands-On Labs and Projects
Projects
Final Exam/Assessment
Assessment
Continuous Integration
Introduction to continuous integration
Advantages of Continuous integration
Implementation of continuous integration
Getting Started with Jenkins
What is Jenkins
Install Jenkins on Local Machine
Jenkins Architecture
Overview of Jenkins UI
Creating and configure Jenkins Jobs
Jenkins Jobs
Create First Job
Job Types
Freestyle job
Create Pipeline job
Job Components
Setup Version Control
Create Parameterized Job
Setup node tag and execute on specific machine
Job Trigger Process
Cron Jobs
Setup dependent Job
Setup Build Component
Post Build Action
Setup Editable Email
Plugins and Its Uses
Install Plugins
Configure plugin with different Technology
Jenkins workspace
Configure Jenkins to check for source code changes periodically.
Implemented Automated Testing
Automating Your Unit and Integration Tests
Configuring Test Reports in Jenkins
Displaying Test Results
Ignoring Tests
Distributed Jenkins Configuration
Introduction to Distributed Jenkins Build
Configuring Master Jenkins node
Configuring the Jenkins slave
Managing nodes and distributing jobs over nodes
Binding Jobs on the master and slave setup
Labelling the nodes to run a specific job
Parallel Jenkins build
Jenkins Build Pipeline
Achieve generated Artifacts
Jenkins Pipeline
Overview of Pipeline as code
Overview of Pipeline Plugin
Automated Jenkins Pipeline

Price

Duration

17643595

Batch Duration

Weekday Batch

50 Sessions

Weekend Batch

30 Sessions

4ecc385a-50dc-45f3-b169-046bc3d48192

One to One Connect

WeekDay Batch

50 Sessions

WeekEnd Batch

30 Session

Every session is divided into three sections.

  1. Doubt Section (15 min) : Before Session starts, Recap and doubt Sessions
  2. Learning Section (45 min) : Learning Discussion as per syllabus.
  3. Practice Section (30 min) : Practice Evaluation once Discussion is over.