
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.
Discover how software testing validates that software built by developers meets client requirements and end-user needs through defect reporting, fixing, and rechecking to improve quality.
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.
Discover why software teams automate regression testing using Selenium, reducing time constraints by running all test cases across app versions and detecting side effects.
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.
Learn to set a webpage title with HTML by using the title tag inside the head, so browsers display a custom page title instead of the file name. See how this affects Chrome and Firefox by applying the title tag to HTML files.
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.
Demonstrate creating hyperlinks in HTML with the anchor tag and href attribute. Use an example with amazon.com to show how the link becomes clickable and opens the URL when clicked.
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.
Explore how to create html text area fields using the text area tag, customize height with rows and width with cols, and compare it to single-line text boxes.
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 to embed one webpage within another using the iframe tag in HTML. The session demonstrates using src, height, and width attributes to embed multiple pages on a page.
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.
Learn how HTML name attribute names elements to group radio buttons and checkbox fields. See how forms use the name attribute to identify fields when sending data to the server.
Explore how the HTML class attribute applies the same CSS styles to multiple elements by linking to an external CSS file, demonstrated on header options and buttons.
Learn to use the span tag to break a single element into multiple parts and apply targeted styles with CSS.
Begin your Selenium journey by mastering locators, understanding their types and priority, and learning to auto-generate XPath expressions and CSS selectors, with emphasis on HTML basics.
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 how the id locator, used via inspecting the element to view its id attribute, helps the Selenium automation tool locate a text area field and type a name.
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.
Learn to locate and click a login button using an XPath expression locator in Selenium, with notes on CSS vs XPath and building the XPath from tag and value attributes.
Learn how to prioritize Selenium locators to locate a single web element, selecting among id, name, class name, link text, CSS selector, and XPath in order of priority.
Learn to write XPath expressions to help the Selenium test automation tool locate web elements, and explore what XPath is, its types, and practical examples.
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.
Master relative XPath expressions for Selenium automation, learn why they're more reliable than absolute XPath expressions, and locate elements with the double forward slash.
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.
Engage in an assignment to write relative XPath expressions for locating elements on a demo e-commerce page, including the search box, search button, filters, and product interactions.
Apply relative XPath expressions in Selenium automation for reliable element locating, while absolute XPath expressions fail with small UI changes.
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.
Learn when to use class name locator or XPath expression in real-time element locating. Single-word class attributes allow class name locators; multiple classes require XPath expressions.
Master relative XPath expressions by solving challenges on omayo.blogspot.com, locating selected, disabled, hidden, and default-selected elements, and filtering by attributes such as checked, disabled, hidden, and selected.
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.
Learn to use the contains function with XPath to locate elements by partial text or partial attribute values, reducing long expressions with practical examples on omayo.blogspot.com.
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.
Learn how to use the last() XPath function to locate the last positioned input element on a page, even as elements are added or removed, using a relative XPath expression.
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.
Discover how the normalize-space XPath function removes leading and trailing spaces from text and attribute values to reliably locate UI elements with XPath expressions.
Solve two xpath challenges using the normalized-space function on the sample page omayo.blogspot.com: locate specific text and the third list item in an ordered list.
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.
Explore the descendant axis in xpath, using descendant:: and // to navigate grandparent to grandchild tags, with practical browser demos and guidance on short, optimized xpath forms.
Learn to use the ancestor axis in XPath expressions to jump from grandchild to grandparent, with syntax ancestor::, and locate HTML, head, and title tags through practical examples.
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.
Learn to write css selector locators for selenium, building on html, css, and xpath basics. Compare css selectors with xpath and practice with practical demonstrations.
Explore how CSS stands for Cascading Tiled Sheets and how it applies styling to HTML webpages. Learn tag level, page level, and external CSS approaches for colors, backgrounds, and layout.
Understand why CSS selectors have the highest priority among locators over XPath expressions in Selenium, and that CSS selectors are faster than XPath expressions.
The lecture compares six Selenium locators and explains why XPath expressions are more powerful than CSS selectors, highlighting the XPath axis and XPath access for upward and downward element traversal.
Master the absolute CSS selectors (full path) and relative CSS selectors (direct path) and learn their reliability versus XPath for Selenium to locate UI elements.
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.
Apply this assignment by locating the submit button on the sample page at arun motori.github.io/m1.html using an absolute css selector.
Learn how to use relative css selectors in Selenium Java to locate all input elements, filter by the name attribute, and further refine results using attribute names and values.
Develop skills in writing relative css selectors to locate web elements. Practice locating hyperlinks, text boxes, buttons, radio buttons, checkboxes, text areas, and dropdowns using tag names and unique attributes.
Practice writing relative CSS selectors to locate the search box, search button, criteria field, category dropdown, subcategory and product description checkboxes, and product image on the tutorialsninja demo site.
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 the assignment by using the colon first-child CSS selector to locate the first list item on the sample page omio.blogspot.com, building practical Selenium Java skills.
Solve a CSS selectors challenge using the last-child pseudo-class to locate the final item in an ordered list on a sample page.
Complete the assignment by locating the fourth item in an ordered list on omaio.blogspot.com using nth-child CSS selectors, as explained in the previous session.
Learn why page level searching is not possible with CSS selectors and how XPath expressions enable both page level and tag level searching, with practical demonstrations using 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 locate elements with CSS selectors using contains, employing the asterisk for contains and handling beginning, middle, or end constant attribute values with cap, hash, and dollar symbols.
Explore how CSS selectors fail to locate elements by full or partial text in Selenium Java, and learn to use XPath expressions with text() and contains() to locate by text.
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 how to download the latest LTS Java (Java 25), install the JDK on Windows, configure JAVA_HOME and path, and verify the installation with java -version.
Learn to create a Java project in Eclipse ID, name it in upper camel case, set up the src folder, add a class, and run a Java application from Eclipse.
Learn that in Java, execution starts from the main method, and discover the main method syntax and ways to auto-generate it in Eclipse.
Discover why every Java statement ends with a semicolon, see practical examples like System.out.println, and learn how omitting semicolons causes errors in code.
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
Create a Java program using an if-else statement to print voting eligibility based on an age variable, printing eligible when age is at least 18 and not eligible otherwise.
Write a java program that uses if-else if-else statements to print grades based on exam marks: A for 90+, B for 75+, C for 60+, D for 40+, and fail.
Implement two Java switch programs: one maps 1–7 to weekdays, the other prints excellent for A, very good for B, good for C, average for D, and failed for F.
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
Solve a Java assignment using a while loop in Eclipse to print even numbers from 1 to 20, initializing i and printing when i % 2 == 0.
Write a Java program using a for loop to sum odd numbers from 1 to 10 and print the result, which is 25.
Demonstrate break statements in Java with two programs, one using a while loop and one with a do-while loop, printing 1 to 5 and stopping at 3, with verification.
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.
Practice building a single parameterized Java method that accepts a username and prints a welcome message, then call it with examples like Arun and Prakash to verify the output.
Classes, Variables and Methods
Class and Objects
Demonstrating objects creation using Class and a template
Object creation statement
Arrays
Types of Arrays
Learn how to access a class's variables and methods from a different package in java by using public access, importing the class, and distinguishing instance and static members.
Explore the default package in java, especially java.lang, and how predefined classes require no imports while non-default packages like java.util or java.io need explicit imports.
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.
Learn to print the second, third, and fourth elements of a seven-element Java array using a traditional for loop. The assignment demonstrates array creation and index-based access in Java.
Write a Java program to initialize a 3x5 two-dimensional array and print its elements in a tabular format, using normal or shortcut initialization and for-each or traditional loops.
Master the Java scanner class to read user input at runtime by importing java.util.Scanner, creating a Scanner object, and using nextInt.
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.
Complete an assignment that uses the Scanner class to read two numbers from user input and print their sum, with a live demonstration of the Java code in Eclipse.
Complete an assignment that uses a single-dimensional array and scanner input to check if a user-entered number exists in the array, printing found or not found.
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.
Master Selenium WebDriver basics with getting started commands in part 1 of the Selenium Java course. This live project series equips beginners with essential automation skills.
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 handling multiple windows in Selenium Java through a live project, advancing from beginner to advanced concepts and practical browser window management.
Master alert handling in Selenium with Java by switching to alerts and choosing to accept or dismiss them.
Master handling dropdown and list box fields in Selenium Java. Apply techniques in a live project to interact with select elements and list boxes.
Master how to handle frames and iframes in Selenium Java part 1 as part of a beginner to advanced live project.
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.
Explore Excel basics—workbook, sheet, rows, and cells—and see how the Apache Pi APA library automates creating, deleting, reading, writing, and modifying Excel data.
Explore how the Apache POI API provides predefined classes—workbook, sheet, row, and cell—to handle older xls and newer xlsx excel files, and how extensions distinguish them.
Read data from Excel files in Java using the Apache POI API and for loops. Set up a Maven project, add POI dependencies, and iterate through rows and cells.
Learn to write data into Excel files using Apache POI in a Java Maven project by creating a workbook, a sheet, and populating rows and cells from a 2D array.
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