
Experience real-time Selenium Java projects with a beginner-to-advanced course, live sessions, interview questions, and frameworks like data-driven, object model, and page factory in a practical, optimized environment.
Selenium supports Windows, Linux, and Mac OS, as demonstrated on the official Selenium downloads page, confirming cross-OS test automation capabilities.
Selenium supports many languages, with Java, Python, and C sharp at the top, followed by JavaScript and Ruby; explore language bindings on the official site and see a Java demo.
Explore Selenium as a set of tools, focusing on WebDriver and Grid, while understanding why RC is deprecated and IDE suits non-technical users.
Explore the evolution of Selenium from version 1 through 4, and learn how to verify the latest major version on the official selenium.dev downloads page, using Java as an example.
Explore software testing basics, what testing and software mean, why testing matters, and how automation supports testing before you learn selenium.
Understand testing as more than basic checks by end users, illustrated with a tv example, and learn how testers perform extensive validation before a product's market release.
Testers identify defects and report them to developers. Developers fix the defects, and testers recheck to close them, improving software quality.
Avoid skipping software testing to prevent releasing buggy software into the market, which drains sales, causes revenue loss, damages reputation, and risks lives in applications like robotic surgery.
Software testers ideate and create test cases, then execute them on web applications to verify functionality. They report defects to developers, recheck fixes, and improve software quality for Selenium automation.
Learn what HTML stands for—hypertext markup language—and how it builds web pages. See how browsers render HTML code to display websites composed of related pages.
Learn to practice HTML basics for Selenium automation using Notepad++ as the recommended editor, including how to download, install, and set up Notepad++ on Windows for hands-on HTML practice.
Learn to save html files with a .html extension using notepad++, write a basic html structure (head and body), and view the file in a browser such as Chrome.
Create and compare HTML headings from h1 to h6, demonstrate their sizes, and preview results in a browser after placing headings in the body.
Learn to add line breaks in HTML with the br tag or br forward slash syntax, and understand browser rendering and why HTML ignores new lines.
Learn how to add horizontal rulers in HTML with the HR tag or its self-closing form, and see practical demonstrations of inserting lines between content.
Create text, password, button, radio, and checkbox fields using a single HTML input tag, including labels, placeholders, grouping radio buttons by name, and default selections with the checked attribute.
Learn to create ordered and unordered lists in HTML using OL, UL, and LI tags, with practical examples showing weekday ordering and color item lists.
Learn how cascading style sheets style web pages, distinguish HTML structure from CSS styling, and apply styles using inline, internal, and external methods with properties like color, background-color, and text-align.
Explore the id attribute in HTML to uniquely identify web elements and learn how it supports locators in Selenium Java from beginner to advanced.
Explore the major locator types in selenium, including id, name, class name, link text, css selector, and xpath, and learn how each helps locate web elements.
Demonstrate using the name locator in Selenium to locate a text box on a sample Blogspot page and type a name, when no id is present.
Demonstrates using the class name locator in Selenium to find a dropdown button without an id or name, click it, and verify the result by the displayed options.
Master the hierarchy of HTML source code to craft XPath expressions and CSS selectors on the fly, understanding root HTML, head, body, title, and p tag relations.
Learn the two types of XPath expressions in Selenium: absolute and relative, their differences, usage as locators, and why relative XPath is preferred in real projects.
Demonstrates why absolute XPath expressions are unreliable for selenium automation due to frequent UI changes, and introduces reliable alternatives using relative XPath in upcoming sessions.
Solve an assignment using Selenium Java by locating all anchor tag elements on a web page and extracting the first, last, and fifth hyperlinks with relative xpath expressions.
Explore relative XPath expressions with wildcards, using hashtag and node wildcards to represent any tag or attribute, including any value, through practical absolute XPath examples and demos.
Master relative XPath expressions to locate tables and their contents, including headers, rows, and data cells, using techniques like grandparent-to-grandchild jumps, wildcard, and pipe operators.
Solve four relative xpath challenges on the sample application table, locating the third row, second column data, the second heading, and all first-column names, with guidance from the previous session.
Explore XPath functions to enhance locating UI elements in Selenium automation, using relative XPath expressions with text, contains, starts with, position, last, normalized space, not, and local name functions.
Learn to use the text() function in XPath to locate UI elements in selenium automation, with practical challenges demonstrating relative XPath, button, dropdown, and heading selection.
Learn how to use the contains function in XPath to locate elements by partial text or partial attribute values, and compare it with the text function and contents approach.
Explore how the starts-with() XPath function locates elements using a beginning substring, compare it with contains(), and learn its use with text and attribute values in Selenium tests.
Practice using the last XPath function to complete a four-challenge assignment on omaio.blogspot.com, locating the last, last but one, last but two, and middle items in six-item list with XPath.
Master the not() XPath function to locate elements that do not match a condition, with practical demos on IDs, text content, checkbox states, and disabled fields in Selenium Java.
Learn to locate svg icons with the local-name() function in XPath, create selenium-friendly selectors for svg, and target svg children like path with contains(@class,'YouTube').
Explore why XPath axes make XPath expressions the most powerful locator in Selenium, especially when id, name, class, link text, and CSS selectors fail, and preview future axis types.
Learn the eight most-used XPath axes for locating UI elements on web pages, understand that thirteen axes exist, and anticipate practical demonstrations in upcoming sessions.
Learn to locate a child element via child XPath access, using the parent's XPath and the child:: syntax with practical demonstrations.
Demonstrates practical use of the parent axis in XPath, teaching how to locate a tag's immediate parent with the parent:: syntax, with browser-based examples from p, body, head, and HTML.
Learn to use preceding XPath access in XPath expressions with hands-on demonstrations, locating body, head, title, and paragraph elements on a sample page, and understand when it works.
Tackle an XPath assignment by locating a text area label on a sample app using nearby element and preceding-sibling axes, and optimize to a single expression.
Understand why CSS selectors have the highest priority among locators over XPath expressions in Selenium, and that CSS selectors are faster than XPath expressions.
Explore absolute css selectors and compare them with absolute xpath expressions through hands-on DevTools practice, highlighting syntax differences and how full-path selectors relate to relative selectors.
Demonstrates CSS selectors for grandparent to grandchild navigation using space instead of the greater-than symbol. Solves two challenges: navigating from HTML to title and from HTML to P tags.
Solve a CSS selectors challenge using the last-child pseudo-class to locate the final item in an ordered list on a sample page.
Learn to use the starts with symbol in CSS selectors to match the initial constant part of an element's attribute value, creating robust selectors that cope with changing endings.
Learn how to use the ends with symbol ($) in CSS selectors to locate elements by a constant ending part of an attribute value, ensuring selectors survive attribute changes.
Learn to use the hashtag symbol as a universal selector in CSS selectors to locate all page elements, with practical demos of ID-based selection and body-level scopes.
Learn how to use :not() in CSS selectors to locate elements that do not meet a condition, using an input tag with a name attribute (user ID) as an example.
Master the plus symbol in CSS selectors to locate the immediate following element, with practical Selenium Java demonstrations using paragraphs, radio buttons, and form elements.
Congratulations on completing this section on 'CSS Selectors in detail'. Please find the notes below:
Define Java as a programming language and highlight its place among languages, noting that for Selenium automation only core Java is needed, not advanced Java.
Learn that in Java, execution starts from the main method, and discover the main method syntax and ways to auto-generate it in Eclipse.
Learn why every executable statement in Java belongs inside a method, with examples using the main method to avoid errors and common beginner mistakes.
Review how Java code must be enclosed in a class, start from the main method, and end with a semicolon; public, static, void, and String will be explained later.
Explore common Java compiler errors, including missing semicolons, mismatched braces, and case-sensitive keywords, and learn how the compiler flags these issues before you run code.
Print Statements – print & println
Comments – single line and multi line comments
Storing data in Java programs using Variables, Data Types, Operators and Literals
Variables – Local variables and Instance variables
Data Types – byte, short, int, long, float, double, char and boolean
Operators
Arithmetic Operators
Demonstrating different data types and Arithmetic Operators
Relational Operators
Logical Operators
Assignment Operators
Conditional Operator
Different Flow control statements
Selection Flow Control Statements
if statements
if .. else statements
if .. else if .. else statements
switch statements
Iterative Flow Control Statements
while loop
do while loop
for loop
for-each loop
Transfer Flow Control Statements
break statement
continue statement
return, try, catch and finally statements
Write a Java program using a for loop to sum odd numbers from 1 to 10 and print the result, which is 25.
Methods
main() method
Creating multiple methods
Calling methods
Single and multiple parameterized methods
Passing arguments to the parameterized methods
Returning values to the calling methods
Return type
Learn to implement separate parameterized methods for adding, subtracting, multiplying, and dividing two numbers in Java, and compare your solution with a provided demo.
Classes, Variables and Methods
Class and Objects
Demonstrating objects creation using Class and a template
Object creation statement
Arrays
Types of Arrays
Single Dimensional Arrays
Declaration, Creation, Assignment and Accessing Single Dimensional Arrays
Shortcut representation of Single Dimensional Arrays
length variable and Single Dimensional Arrays
for loop and single dimensional arrays
for-each loop and single dimensional arrays
Two Dimensional Arrays
Declaration, Creation, Assignment and Accessing Two Dimensional Arrays
Shortcut representation of Two Dimensional Arrays
Using length variable with Two Dimensional Array
Using for loop with Two Dimensional Array
Arrays and Object class
Disadvantages of Arrays
String
Actual and short-cut representation of String
Concatenating two Strings
Pre-defined methods of String and their demonstration
Write a Java program to print all elements of a single-dimensional array, using either normal or shortcut initialization, and verify results with a for-each loop.
Explore how to intake different input types in Java with the Scanner class, including nextInt, nextDouble, next, nextLine, and nextBoolean.
Explore the difference between scanner's next() and nextLine() methods in Java. Learn how next() reads only up to a space, while nextLine() captures the full line input.
Primitive Data Types and Wrapper Classes
Demonstrating Primitive Data Types values conversion to Wrapper Class Objects
Demonstrating Wrapper Class Objects conversion to Primitive Data Type values
Constructors
Difference between Constructors and Methods
Demonstrating Constructors
Purpose of Constructors and its demonstration
Using this keyword
Overloading
Method Overloading Demonstration
Constructor Overloading Demonstration
Packages
Demonstrating Packages
Packages and import statements
Inheritance
Inheritance and extends keyword
Demonstrating inheritance using Parent and Child classes
Learn to implement method overloading in Java by creating a single class with three overloaded area methods that compute the circle, square, and rectangle areas and print the results.
Overriding
Method Overriding Demonstration
Modifiers - Part 1
Access Modifiers
Non-Access Modifiers
public
private
default
protected
Non-Access Modifiers
static variables
static methods
final classes
final variables
final methods
abstract classes
abstract methods
abstract and object creation
Interfaces
Classes versus Interfaces
Purpose of Interfaces
Inheriting the properties of Interfaces
Interfaces and objects creation
And other miscellaneous topics in Interfaces
Exception Handling
What is an Exception?
Compile time error versus Run time errors
try catch block for handling Exceptions
Demonstrating programs and cases of try catch block
Exception Hierarchy
Example Exceptions - Arithmetic Exception and ArrayIndexOutofBoundsException
Demonstrating Arithmetic Exception
Demonstrating ArrayIndexOutofBoundsException
Using Throwable and Exception parent classes for handling their sub class exceptions
Exception Types
Unchecked Exceptions
Checked Exceptions
Checked Exceptions versus Unchecked Exceptions
Demonstrating Checked and Unchecked Exceptions
Handling Checked Exceptions using try catch block
Ignoring Checked Exceptions using throws
Demonstrating different ways to print the Exception details in the catch block
File Handling
Representing Files in Java
Demonstrating reading text from files and optimizing the program
Collections Framework
What are collections?
Collections Hierarchy
ArrayList
Arrays versus ArrayList
Demonstrating ArrayList using for and for-each loops
Collections Framework - Part 2
HashSet
ArrayList versus HashSet
Demonstrating HashSet using for-each loop
Iterator interface and iterator() for-each loop
Using Iterator interface and iterator() method with ArrayList
Using Iterator interface and iterator() method with HashSet
HashMap
Demonstrating HashMap using for-each loop
Reflection API
Demonstrating Reflection API conception with non-parametrized method
Demonstrating Reflection API conception with parameterized method
Explore how Selenium enables web application test automation, comparing manual and automation testing, and using Selenium WebDriver and Selenium Grid across multiple browsers and languages.
Learn to use Selenium WebDriver to run scripts on different browsers through practical exercises in this live project course.
Explore essential Selenium WebDriver getting started commands in this part 2 session, building practical skills for automating web tests in a beginner to advanced live project course.
Learn essential Selenium WebDriver commands to get started in part 3 of the getting started commands series within the Selenium Java beginner to advanced live project.
Explore Selenium WebDriver basics with getting started commands in part 5 of the beginner to advanced live project, enabling you to launch a browser, navigate pages, and perform actions.
Master how to use findElements to locate multiple elements, handle StaleElementReferenceException, and retrieve element tagName() in Selenium Java.
Master alert handling in Selenium with Java by switching to alerts and choosing to accept or dismiss them.
Learn to simulate mouse actions in Selenium using Java, from basic clicks to advanced interactions, within a hands-on live project.
Master handling keyboard actions in Selenium Java with a practical live project. Apply keystroke simulations, shortcuts, and advanced interactions to real-world automation tasks.
Learn how to execute JavaScript code using Selenium WebDriver to run scripts on web pages and enhance test automation.
Master handling calendars in Selenium using Java with practical, test-focused techniques from a live project workflow. Build robust tests that interact with date pickers and calendar widgets across scenarios.
Learn how to handle tables using Selenium with Java in a beginner to advanced live project, part 1.
Learn to handle static tables in Selenium by printing the full table with headings and data, using XPath expressions to count rows and columns and build dynamic XPath selectors.
Master handling dynamic tables using Selenium in Java, building practical skills from beginner to advanced level within a live project context.
Discover how the Apache POI API serves as a Java library to read, write, and manipulate Excel files, enabling test automation to read data in Selenium projects.
Learn to format Excel cells with Apache POI in Java, applying background colors and borders using cell styles, foreground colors, fill patterns, and proper Maven configuration.
In detailed, easy, step by step, practical, well defined and real time video tutorials on Selenium Java
Not required to have any prior Java programming knowledge, as all the prerequisites such as Java are explained in detail before covering Selenium topics
Interview Questions and Answers (Recorded Videos and Notes)
Different topics covered in this course include: (Includes Videos and Notes for every topic listed below)
Introduction
Firebug/Firepath Alternatives
Selenium IDE
Locators
XPath Expressions
CSS Selectors
Others
Core Java for Selenium
Selenium WebDriver
Handling Multiple Windows
Waiting Mechanism
Handling Frames
Handling Lightbox
Selenium & Different Browsers
Selenium 3
Framework Concepts - Properties Files
Framework Concepts - POI API
Framework Concepts - Log4j
Framework Concepts - TestNG
Framework Concepts - Maven
Framework Concepts - Extent Reports
Framework Concepts - Taking Screenshots
Framework Concepts - ANT
Data Driven Framework
Cucumber and BDD
Page Object Model and Page Factory
Jenkins
Git
GitHub
WebDriverManager
Live Project (Real time)
AutoIt
Sikuli
Robot Class
Actions Class
DOM
JavaScript
JavaScriptExecutor
Java OOPS Concepts
Handling XML Files
Handling JSON Files
Database Testing using Selenium
Browser Configurations - Firefox, Chrome & IE
Handling Calendar
Handling WebTables
Select Class
Handling Random Activities
Handling Cookies
Downloading Files
Password Encryption and Decryption
WebDriver Listeners
TestNG Listeners
StaleElementReferenceException
And many more
Selenium Grid
Interview Questions and Answers
Along with videos, notes having the session details and links to download the code/frameworks/other files are provided
Huge list of real time and practical examples are provided throughout the sessions
Installation/configurations of various software are also explained in detailed in this course
After watching all the videos, you will be able to answer most of the interview questions, as all the topics are covered from basic to advanced level
Framework concepts are explained before showing how to build different frameworks
Sessions covering the development of different frameworks are also covered in detailed
Includes Selenium 4 Videos