🚀 *New API Testing using Postman & Python batch is starting from 📅 2-May 2025! 📢 Enroll Now! ✅

  Selenium with Java Course Contents


Module-1: Overview on Automation & Selenium

  • Introduction to Automation
  • Challenges in Manual Testing
  • Overcoming Challenges with Automation
  • Importance of Programming in Automation
  • Introduction to Selenium
  • Selenium Components
  • Advantages and Disadvantages of Selenium WebDriver

Module-2: Java Programming for Selenium

  • Java and Eclipse Environment Setup
    • Setting up Java Development Kit (JDK)
    • Installing Eclipse IDE
    • Configuring Java and Eclipse Environment
  • How to Write Basic Java Program?
    • Creating a Java Class
    • Main Method in Java
    • Writing the First Java Program
    • Compiling and Running Java Programs
  • Understanding Console Output
    • Using System.out.println() for Output
    • Printing Variables and Text to Console
  • Java Variables and Data Types
    • Declaring Variables in Java
    • Primitive Data Types (int, float, double, char, boolean)
    • Variable Naming Conventions
  • Java Operators
    • Arithmetic Operators
    • Relational Operators
    • Logical Operators
    • Assignment Operators
    • Increment and Decrement Operators
    • Ternary Operators
  • Conditional Statements
    • If Statement
    • If-Else Statement
    • Switch-Case Statement
  • Loops
    • While Loop
    • Do-While Loop
    • For Loop
  • Jumping Statements
    • Using break Statement
    • Using continue Statement
  • Arrays - Single & Two Dimensional
    • Declaring and Initializing Arrays
    • Accessing Array Elements
    • Single-Dimensional Arrays
    • Two-Dimensional Arrays
    • Object Type Array
    • Coding Exercises on Arrays
  • String Class
    • Introduction to the String Class
  • String Methods
    • Common String Methods
    • Coding Exercises on Strings
  • Wrapper Classes
    • Primitive Data Types vs Wrapper Classes
    • Autoboxing and Unboxing
 Module 3: Java OOPS Concepts

  • Classes and Objects
    • Introduction to Classes and Objects
    • Creating Classes
    • Declaring Object Instances
    • Class Members: Fields and Methods
  • Java Methods & Constructors
    • Defining Methods
    • Method Signatures
    • Return Types
  • Passing Parameters to Methods
    • Passing Parameters
    • Call by Value
    • Call by Reference (Reference Passing)
  • Java Constructor
    • Constructor Basics
    • Parameterized Constructors
    • Default Constructors
  • Polymorphism
    • Introduction to Polymorphism
  • Overloading Methods
    • Method Overloading
    • Overloading with Different Parameter Types
    • Overloading with Different Number of Parameters
  • Overloading Constructors
    • Constructor Overloading
    • Creating Constructors with Different Parameters
  • Encapsulation
    • Encapsulation Overview
  • Setters and Getters
    • Purpose of Setters and Getters
    • Encapsulation with Setters and Getters
  • this Keyword
    • Understanding the this Keyword
    • Using this to Differentiate Instance and Local Variables
  • Static Variables and Methods
    • Static Variables
    • Static Methods
    • Accessing Static Members
  • Inheritance
    • Basics of Inheritance
    • Extending Classes
    • Superclass and Subclass
  • Types of Inheritance
    • Single Inheritance
    • Multiple Inheritance 
    • Multilevel Inheritance
    • Hierarchical Inheritance
  • Method Overriding
    • Overriding Methods in Subclasses
    • Use of @Override Annotation
  • super Keyword
    • Using super to Access Superclass Members
    • Invoking Superclass Methods
  • final Keyword
    • Final Variables
    • Final Methods
    • Final Classes
  • Abstract Class
    • Abstract Class Overview
    • Abstract Methods
    • Creating Abstract Classes
  • Java Interface
    • Introduction to Interfaces
    • Implementing Interfaces
    • Multiple Interface Implementation
  • Java Packages
    • Organizing Code with Packages
    • Creating and Using Packages
  • Access Modifiers
    • Public, Private, Protected, Default Access Modifiers
    • Access Modifier Scope
  • Data Conversion Functions
    • Converting Data Types
    • Casting - Up Casting and Down casting
  • Reading Input from Keyboard
    • Using Scanner Class for Input
  • Exception Handling
    • Introduction to Exception Handling
    • Try, Catch, Finally Blocks
    • Types of Exceptions
  • Java Collections
    • Overview of Java Collections Framework
    • Lists, Sets, Maps
    • Iterators
    • Collections Methods
  • File Handling
    • Handle text files
    • Handle properties files

Module-4: Selenium WebDriver (Latest Version)

  • Introduction to WebDriver and Architecture
    • Overview of Selenium WebDriver
    • Architecture of Selenium WebDriver
  • Environment Setup & WebDriver Configuration
    • Setting up WebDriver in Eclipse
    • Configuring WebDriver for Different Browsers
  • How to Create Automated Test Case in WebDriver?
    • Setting Up a Basic Test Case Structure
    • Writing and Running Simple WebDriver Test Cases
  • Execute Test Case on Multiple Browsers
    • Cross-Browser Testing
    • Running Tests on Different Browsers
  • Understanding HTML Tags and Attributes
    • HTML Basics for Selenium Testers
    • Locating Elements Using HTML Tags and Attributes
  • Basic Locators
    • Name Locator
    • ID Locator
    • LinkText Locator
    • PartialLinkText Locator
  • Advanced Locators
    • CSS Locators
    • XPath Locators
    • XPath Axes
  • Relative Locators
    • .above, .below, .toLeftOf, .toRightOf, .near
  • How to Use SelectorsHub & Features of Selectors Hub
    • Overview of SelectorsHub
    • Features and Benefits
  • WebDriver Methods
    • Opening Page URL
    • Verifying Page Title
    • Getting Page Source
    • Getting Page URL
    • Conditional Methods
      • Visibility of WebElements
      • Enable/Disable Status of Web Elements
  • Waits
    • Implicit Waits
    • Explicit Waits
    • Fluent Waits
    • Page Load Time
  • Navigation Methods
    • Navigating Back & Forward
    • Refreshing Page
  • Browser Commands
    • close() and quit()
    • getWindowHandle() and getWindowHandles()
  • Working with Web Elements
    • Handling Input Boxes
    • Handling Checkboxes & Radio Buttons
    • Handling Links 
  • Handling Alerts/Popups
    • Handling Alert Boxes
    • Handling Confirmation Boxes
    • Handling Prompt Boxes
  • Working with Browser Windows
    • Switching Between Browser Windows
    • Handling Tabs and Windows
  • Handling Iframes & Inner Iframes
    • Switching to Iframes
    • Working with Nested Iframes
  • Handling Drop Downs
    • Select type Drop down
    • Bootstrap Drop Downs
    • Multi Select Drop Down
    • Auto Suggest Drop Down
  • Handling Static & Dynamic Web Tables
    • Strategies for Handling Tables
    • Handling Static Tables
    • Handling Dynamic Tables
    • Pagination Tables
  • Handling Date Pickers
    • Strategies for Handling Date Pickers
  • Handle SVG & ShadowDOM Elements
  • Handle Cookies
  • Handle Broken Links
  • Handling Mouse Actions
    • Using Actions Class
    • Right Click, Double Click, Mouse Over
    • Drag and Drop Actions
  • Handling Keyboard Actions and Shortcuts
    • Using Actions Class for Keyboard Actions
  • Working with JavascriptExecutor
    • Executing JavaScript Code in Selenium
  • Scrolling Web Page
    • Scrolling Up and Down the Page
  • Zoom In & Zoom Out, Maximize, Minimize Web Page
    • Managing Browser Window Size
  • Opening Links in New Tab
    • Handling New Tabs
  • Working with Tabs and Windows
    • Switching Between Tabs and Windows
  • Capturing Screenshots
    • Taking Screenshots in Selenium
  • Headless Browser Testing
    • Overview of Headless Testing
    • Advantages and Disadvantages
  • SSL Certificate Handling
    • Handling SSL Certificates
  • Browser Settings with ChromeOptions
    • Customizing Chrome Browser Settings
  • Enable Extensions on Browser at Runtime
    • Managing Browser Extensions
  • Blocking Ads on WebPage at Runtime
    • Blocking Ads Using WebDriver
  • Run Tests in Incognito Mode
    • Running Tests in Incognito/Private Mode
  • How to Handle Upload Files (Single and Multiple)
    • Uploading Files in Selenium
  • Handling Broken Links
    • What is Broken link?
    • How to find Broken links in web page
  • Handling shadowDOM, SVG Elements
    • Strategies for Handling shadowDOM and SVG Elements
  • Selenium WebDriver Exceptions
  • Working with Excel Files Using Apache POI API
    • Reading and Writing Excel Files
  • Data-Driven Testing
    • Strategies for Data-Driven Testing
    • Implementing Data-Driven Tests in Selenium
  • Selenium WebDriver Exceptions

Module-5: TestNG

  • Introduction to TestNG and Advantages
    • Overview of TestNG
    • Advantages of TestNG over JUnit
    • TestNG Features
  • Configuring TestNG in Project
    • Setting up TestNG in Eclipse or IntelliJ
    • Configuring TestNG Dependencies in the Project
  • Writing TestNG Test Cases
    • Basics of Writing TestNG Test Cases
    • Annotations in TestNG
  • Prioritizing Tests
    • Setting Test Case Priority
    • Running Tests in Priority Order
  • Understanding Testng.xml
    • Structure of TestNG XML File
    • Configuring Test Suites and Test Cases
  • TestNG Report
    • TestNG HTML Reports
    • Viewing and Analyzing TestNG Reports
  • TestNG Annotations
    • @BeforeSuite, @AfterSuite
    • @BeforeTest, @AfterTest
    • @BeforeClass, @AfterClass
    • @BeforeMethod, @AfterMethod
    • @Test Annotation
  • Types of Assertions (Hard and Soft Assertions)
    • Using Hard Assertions in TestNG
    • Using Soft Assertions in TestNG
  • dependsOnMethods
    • Defining Dependencies Between Test Methods
    • Ensuring Test Methods Run in a Specific Order
  • Skipping and Ignoring Tests
    • Skipping Tests in TestNG
    • Ignoring Tests in TestNG
  • Grouping Tests
    • Grouping Tests in TestNG
    • Running Tests by Groups
  • Parameterizing Tests (XML File, DataProviders)
    • Parameterizing Tests Using TestNG XML File
    • Parameterizing Tests Using DataProviders
  • @DataProvider
    • Understanding @DataProvider Annotation
    • Providing Test Data to Test Methods
  • Invocation Count
    • Repeating Test Execution with Invocation Count
  • Parallel Testing
    • Running Tests in Parallel
    • Configuring Parallel Execution in TestNG
  • TestNG Listeners
    • Overview of TestNG Listeners
    • Implementing Listeners in TestNG
    • Types of TestNG Listeners (e.g., ITestListener, IAnnotationTransformer)
    • Generate Extent Reports using Listeners

Module-6: Page Object Model Pattern

  • Generating Extent Reports
  • Log4j2 for Logging
  • Page Object Model (POM) Pattern
  • Creating Page Object Classes without Page Factory
  • Creating Page Object Classes using Page Factory
  • @FindBy annotation

Module-7: Selenium Grid

  • Introduction to Selenium Grid
  • Setting Up Grid Environment (Stand Alone, Hub with Nodes)
  • Running Selenium Tests on Grid

Module-8: Docker

  • What is Docker
  • What is Docker Image
  • What is Docker Container
  • How to create account on Docker Hub
  • Download Images from Docker Hub
  • Docker UI Application
  • Selenium Grid Configuration on Docker Hub
  • Run your test cases on Dockerized Selenium Grid
  • Setup Infrastructure using Docker Compose yml
  • Scale up the browsers at the run time
  • Shut down the Docker Infrastructure

Module-9: Introduction to Automation Frameworks

  • Introduction to Automation Frameworks
  • Types of Frameworks
  • Phases in Designing Framework
  • Choosing Test Cases for Automation

Module-10: Hybrid Framework with POM (Page Object Model) – Project

  • Creating Maven Project and update pom.xml with dependencies
  • Creating Folder Structure
  • Creating Page Objects and Object Repository
  • Creating Utility files
  • Generating Extent Reports
  • Generating Allure Reports
  • Generating Logs using Log4j2
  • Setting Up Configuration Files
  • Creating Automation Test Cases
  • Creating Data-Driven Test Cases
  • Creating Database Test Cases
  • Executing Test Scripts using TestNG XML File
  • Emailing Test Reports
  • Executing Test Scripts through Command Line
  • Executing Test Scripts using Batch File
  • Executing Test Scripts on Selenium Grid
  • Executing Script on Docker Container

Module-11: Cucumber BDD Framework

  • Introduction to BDD and Cucumber
  • Gherkin Language Keywords
  • Feature Files
  • Step Definitions
  • TestRunner Class
  • Data Tables and Scenario Outline
  • Tags, Background
  • Cucumber Hooks
  • Cucumber Reports
  • Cucumber Extent Reports
  • Cucumber Allure Reports

Module-12: CI & CD Concepts( Git, Github & Jenkins)

  • Version Control System Overview
  • Git and GitHub
  • Git Commands
  • Continuous Integration (CI) and Continuous Delivery (CD)
  • Jenkins Overview
  • Maven Integration with Jenkins
  • Running Selenium Tests through Jenkins
  • Creating CI/CD Pipelines -Declarative & scripted
  • Scheduling Jobs
  • Cron patterns



Total Pageviews

YOUTUBE