Selenium Webdriver With Java - Web Automation For Beginners

Posted By: ELK1nG

Selenium Webdriver With Java - Web Automation For Beginners
Published 8/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 40.08 GB | Duration: 55h 39m

2025 - Master Web Browser Automation Testing Scenarios from Beginner to Pro level with Latest Selenium 4 WebDriver Java

What you'll learn

Selenium WebDriver with Java - Basics to Advanced concepts from Scratch

Latest Selenium 4 version used for the Java Automation Coding examples

Learn Java fundamentals from scratch needed to get started with Selenium

Chrome Devtools Protocol (CDP) Features in Latest Selenium 4

Selenium Grid 4 - practical demonstration of Traditional VMs and Docker Modes

Working with all kinds of Web Elements automation on Real world usecases

Important concepts like Shadow DOM, SVG Elements, Broken Links and Images, Pseudo Elements and more

16 different Selenium Exceptions with practical demonstration on Real websites

End to End Testing scenarios, Interview perspective topics on Selenium WebDriver automation practice

Requirements

Java Fundamentals are covered to get started with Selenium Automation from scratch

You will learn the complete Selenium WebDriver Java from scratch

Description

Selenium WebDriver with Java - Web Automation for Beginners is the course designed for Software Test Engineers looking to upgrade their skills in Practical Web Automation Testing with Selenium 4 latest version.The Java Fundamentals needed to understand the Selenium WebDriver Java methods are coveredSoftware Installation and Java concepts - 10 hours of detailed video sections are addedAll required topics to master the Selenium WebDriver concepts are covered in the courseGet Started with Selenium Java Automation–> Launching different browsers with Selenium Java code–> Navigate vs Get method differences–> findElement and findElements coding ExamplesSelenium WebDriver Hierarchy–> Understand the Hierarchy of Different Interfaces and Browser Driver Classes with the WebDriver InterfaceSelenium Manager - Automated Driver Management–> Practical demonstration of the Automated Driver binaries downloads from Selenium 4.6.0 onwardsSelenium Manager - Automated Browser Management–> Practical demonstration of the Automated Browser downloads for the Chrome and Firefox browsersSelenium WebDriver Architecture–> Understand the actual working of the W3C Protocol for the Selenium 4 WebDriver ArchitectureSelenium WebElement Hierarchy–> Understand the Hierarchy of the WebElement Interface with different Parent InterfacesLocators in Selenium–> Detailed Examples on all different Locators in Selenium–> Id, Name, ClassName, TagName, LinkText, PartialLinkText, CSS Selector, XPathRelative Locators in Selenium 4 - Latest feature–> Previously called as Friendly Locators–> Coding Examples to use methods - leftOf(), rightOf(), above(), below(), near()Writing Complex XPath for Interview Perspective–> Multiple Dynamic XPath examples with different Real time E-commerce websites–> Using XPath Axes methods for solving Interview perspective and practical Web ElementsHandling Frames–> Switching to Frames - ID, Name, Index, WebElement–> Working with Nested Frames–> Switching to Parent Frame and Main web pageHandling Windows–> Switching to other Open windows using Window Handles–> Switching to New Window (Window Type - TAB/WINDOW - Latest Selenium 4 feature)Handling Alerts–> JavaScript Alerts Handling - Normal, Confirmation, Prompt Alerts–> Basic Authentication Popup HandlingHandling Dropdowns –> Single Select Dropdown–> Multi Select Dropdown–> BootStrap Dropdown–> Hidden Dropdown–> Auto Suggestion DropdownSynchronization - Wait methods in Selenium WebDriver–> ImplicitWait - using Duration class - Latest Selenium 4 feature–> ExplicitWait using WebDriverWait–> ExplicitWait using FluentWaitPageLoadTimeout and ScriptTimeout concepts in Selenium WebDriver–> Learn how to use them with Coding ExamplesDefault Timeout values in Selenium WebDriver–> Debugging the WebDriver reference variable in Java RuntimePageLoadStrategy in Selenium WebDriver–> Three Page Loading Strategies - NORMAL, EAGER, NONEHandling Checkboxes–> Single Checkbox–> Multiple CheckboxesWebElement methods for checking Element presence, Enabled, Selected–> isDisplayed(), isEnabled(), isSelected()Handling Static Web Tables–> Multiple coding examples on Handling Static WebTable elementsHandling Dynamic Pagination Web Tables–> Multiple coding examples on Handling Dynamic Pagination WebTable elementsHandling Calendar - Date Pickers–> Different approaches to Handling Date Picker fieldsPerforming Mouse Actions–> Action Class for Mouse Operations–> moveToElement() for Mouse Hover–> contextClick() for Right Click–> doubleClick() –> dragAndDrop(source,target)–> dragAndDropBy() for Handling SlidersPerforming Keyboard Actions–> KeyDown(), KeyUp(), KeysJavascriptExecutor in Selenium–> performing click and sendKeys with JavascriptExecutor–> ElementClickInterceptedException and handling it with JavascriptExecutor–> Scrolling the Web Pages with JavascriptExecutorMaximize, Minimize and Set Zoom Level for the Web Browser–> Using inbuilt methods - maximize() and minimize–> Using JavascriptExecutor for setting the Zoom Level (Zoom In and Zoom Out)Upload Files in Selenium–> Single File Upload and Multiple Files Upload - using the sendKeys() methodCapturing Screenshots–> Full Web Page screenshot using the driver reference variable–> Capture the WebElement screenshot - Latest Selenium 4 featureOptions Class - setting Browser profile - ChromeOptions, EdgeOptions, FirefoxOptions–> Headless Browser Testing–> Remove message Chrome is being controlled by automated test software–> SSL Certificate Handling–> Incognito Browser modeBroken Links and Broken Images–> Verifying the Broken Links and Broken Images using Java HTTP methods - Important for InterviewsHandling Shadow DOM Elements–> Shadow Host, Shadow Root and Working with the Shadow Root elementsHandling SVG Elements (Scalable Vector Graphics)–> Working with the SVG Elements - vector images - circle, rect, line, polygon, path, gHandling Pseudo Elements - CSS–> Using JavascriptExecutor code to Retrieve the Pseudo Element property valuesSelenium Java - Common Exceptions encountered–> 16 Different Exceptions are discussed in detail, with coding examples–> Handling the Exceptions using try, catch, finally blocksHandling Cookies in Selenium WebDriver–> Retrieve All Cookies, Retrieve Specific Cookie by Name–> Add Cookie to the Browser Session–> Delete Cookie Object, Delete Cookie by Name, Delete All CookiesEnd to End Testing with Real Time Websites - Interview Perspective Scenarios–> Practical Real Time Websites, Testing of E-Commerce Website–> Assignment with 3 additional scenarios for Interview preparationChrome DevTools Protocol in Selenium 4–> Understanding the Chrome Dev Tools Protocol Features–> Loading Insecure Websites using the Security domain in CDP–> Using the executeCdpCommand() method for passing CDP commands directly–> Retrieve Browser Console Logs using Log Domain in the CDP–> Network Domain - Offline Mode - Internet Disconnected scenario–> Network Domain - Online Mode - Internet Connected scenario–> Network Domain - Connection Type - Emulate network - 2G, 3G, 4G, Ethernet, WiFi, etc.Selenium Grid 4 - using Remote WebDriver - Traditional VMs Mode–> Selenium Grid 4 - Overview and Grid 4 vs Grid 3–> Different Modes in Selenium Grid 4–> Standalone Mode - Practical Coding Demo–> Hub and Nodes Mode - Practical Coding DemoSelenium Grid 4 - Docker Mode - Containers–> Selenium Grid 4- Docker Mode - Overview–> Docker Desktop Software Installation–> Docker Fundamentals - Image, Container, Hub, Commands–> Selenium Grid 4 - Practical Coding Demo - Standalone Docker Containers–> Docker Compose yml file - create Multiple Standalone Docker Containers–> Hub and Nodes using Docker Compose yml file–> Full Distributed Grid using Docker Compose yml fileStudents have Lifetime access to the recordings from Udemy. Course can be accessed from Desktop Web browser on Udemy website, Mobile Apps (Android and iOS).

Overview

Section 1: Welcome to the Selenium WebDriver Java course

Lecture 1 Introduction - Welcome to the course

Section 2: Introduction to the Selenium Automation

Lecture 2 Types of Software Applications

Lecture 3 Introduction to Selenium Suite tools

Lecture 4 History of Selenium

Lecture 5 Advantages and Disadvantages of Selenium

Section 3: Selenium versions and Checking for Latest Information

Lecture 6 Selenium Versions Released so far

Lecture 7 Checking Official LinkedIn feed and Selenium Blog for latest updates

Lecture 8 Official GitHub Repo and Supported Browsers, Operating Systems

Section 4: Software Setup for Selenium WebDriver Java coding

Lecture 9 Java 21 - JDK Software Installation

Lecture 10 Eclipse IDE - Software Installation

Section 5: Important Note about Project practice code and Notes

Lecture 11 Project Practice and Course Notes

Section 6: Java Fundamentals - Getting Started with Java

Lecture 12 Create Java Project and Write First Program

Lecture 13 System.out.println() and System.out.print() methods Hands-on practice

Lecture 14 Basic Syntax Concepts in Java Programming

Section 7: Java Fundamentals - Packages, Adding Comments

Lecture 15 Packages in Java - User Defined and Inbuilt Packages

Lecture 16 Adding Comments in Java - Single Line and Multi Line

Section 8: Java Fundamentals - Variables and Primitive Data Types

Lecture 17 Primitive Data Types and Non-Primitive Data Types

Lecture 18 Integer Values - byte, short, int, long - Primitive datatypes

Lecture 19 Decimal Values - float, double - Primitive datatypes

Lecture 20 Single Character and Boolean values

Section 9: Java Fundamentals - Classes, Objects, Variables, Methods

Lecture 21 Classes and Objects - Introduction

Lecture 22 Java Program for Class and Objects

Lecture 23 Java Program for Class and Objects in different Java class files

Lecture 24 Methods Concepts - Java Program for Input Parameters and Return Type

Section 10: Java Fundamentals - Constructors, this and static keywords

Lecture 25 Constructors in Java - Default and Parameterized

Lecture 26 this keyword in Java - Coding Example

Lecture 27 static keyword in Java - Coding Example

Section 11: Getting Started with Selenium Java Coding

Lecture 28 Setup Maven Project and Selenium Java jar Dependencies

Lecture 29 Write your First Selenium Java Code to Launch Chrome Browser

Lecture 30 Java Code which Launches new Chrome Browser

Lecture 31 Difference between navigate and get methods

Lecture 32 Navigate methods (back, forward, refresh) - Coding Example with Three Websites

Lecture 33 Getting Latest Selenium Java dependencies version in Maven Project

Section 12: Java Fundamentals - Inheritance and super keyword

Lecture 34 Types of Inheritance in Java

Lecture 35 Single and Multi-Level Inheritance - Coding Examples

Lecture 36 Hierarchical and Multiple Inheritance - Coding Examples

Lecture 37 super keyword in Java - Coding Example

Section 13: Java Fundamentals - Access Modifiers, final keyword

Lecture 38 Access Modifiers - public, protected, default, private

Lecture 39 final keyword - Coding Example

Section 14: Java Fundamentals - Interface and Abstract Class

Lecture 40 Abstraction - creating Interface with variables and methods

Lecture 41 Creating Class implementing Interface methods

Lecture 42 default Access Modifier vs default method in Interface

Lecture 43 implements and extends keyword usage

Lecture 44 Multiple Inheritance using Two Interfaces

Lecture 45 Abstract class in Java - Coding Example

Section 15: Selenium WebDriver Hierarchy

Lecture 46 Selenium WebDriver Hierarchy - Interfaces and Classes

Lecture 47 Official Documentation - WebDriver Interface and Other Classes

Lecture 48 Launching Different Browsers - Chrome, Edge, Firefox

Lecture 49 Difference between navigate.to() and get() methods in RemoteWebDriver

Section 16: Java Fundamentals - Operators

Lecture 50 Arithmetic and Assignment Operators

Lecture 51 Relational Operators

Lecture 52 Logical Operators

Lecture 53 Increment and Decrement Operators

Lecture 54 Ternary Operator

Section 17: Java Fundamentals - Conditional Statements

Lecture 55 if and if else conditions

Lecture 56 if, else if Ladder conditions

Lecture 57 nested if conditions

Lecture 58 switch case block conditions

Section 18: Java Fundamentals - Looping Statements

Lecture 59 for loop - Coding Example

Lecture 60 while loop - Coding Example

Lecture 61 do-while loop - Coding Example

Lecture 62 break and continue statements with Loops

Section 19: Using WebDriver reference to Launching Browsers

Lecture 63 Launch Different Browsers using Parent WebDriver reference variable

Lecture 64 Cross Browser Testing - Coding Example with Switch Case

Lecture 65 get methods in Selenium WebDriver - getCurrentUrl, getPageSource

Section 20: Selenium Manager - Automated Driver Management

Lecture 66 Web Browser, Browser Driver Binaries and WebDriverManager concepts

Lecture 67 Selenium Manager inbuilt feature - latest version 4.6.0 onwards

Section 21: Selenium WebDriver Architecture - W3C Protocol

Lecture 68 Selenium WebDriver Architecture - Browser Driver binaries and W3C Standards

Section 22: Automated Browser Management - Chrome, Firefox

Lecture 69 Selenium Manager - Automated Driver and Automated Browser Management

Lecture 70 Chrome for Testing - Working with Normal Chrome Browser Installed

Lecture 71 Using setBrowserVersion() - stable and beta with Chrome Browser Installed

Lecture 72 Using setBinary() method - to launch Chrome for Testing - Stable browser

Lecture 73 Chrome for Testing - Stable Browser - When Normal Chrome browser not Installed

Lecture 74 Chrome for Testing - Beta browser - When Normal Chrome browser not Installed

Lecture 75 Firefox Browser - Installed and Not Installed - Automated Browser Downloads

Section 23: Java Fundamentals - Arrays (1D, 2D)

Lecture 76 One Dimensional Arrays - Coding Example

Lecture 77 Two Dimensional Arrays - Coding Example

Section 24: Java Fundamentals - Strings

Lecture 78 String class - Inbuilt Methods coding example

Lecture 79 String Comparisons, intern() method - SCP and Heap memory

Lecture 80 String, StringBuffer, StringBuilder - differences

Section 25: Java Fundamentals - Collections - List and ArrayList

Lecture 81 Generics in Java - Parameterized Types

Lecture 82 Collections and ArrayList - Overview

Lecture 83 ArrayList - Coding Example - Part 1

Lecture 84 ArrayList - Coding Example - Part 2

Section 26: Locators (id, className, tagName) - Part 1

Lecture 85 Locators in Selenium WebDriver - Overview

Lecture 86 findElement vs findElements methods in SeleniumWebDriver

Lecture 87 Working with Locators - id, className and Coding Example with sendKeys() method

Lecture 88 getText() method to Retrieve the Visible Text on the Web page

Lecture 89 Working with tagName Locator to find multiple elements

Lecture 90 Working with className Locator to find multiple elements

Section 27: Locators (name, partialLinkText) - Part 2

Lecture 91 Why we have so many locators in Selenium and which one to use?

Lecture 92 Working with name and className Locators - Coding Example

Lecture 93 Which Html tags we can use for the linkText locator in Selenium?

Lecture 94 Working with linkText Locator - Coding Example

Lecture 95 Working with partialLinkText Locator - Coding Example

Section 28: Locators (tagName, linkText) - Part 3

Lecture 96 Working with className Locator for finding Multiple Footer text values

Lecture 97 Working with tagName Locator to print values using getText( ) method

Lecture 98 Working with linkText and id Locators - Another Coding Example

Lecture 99 5 Practice Demo websites for Automation Tests

Section 29: Locators (CSS Selector) - Part 4

Lecture 100 CSS Selector - Overview concepts

Lecture 101 CSS Selector - Practice of Locators in Web Browser

Lecture 102 CSS Selector - Coding Example for tag#id and tag.class

Lecture 103 CSS Selector - Coding Example for tag[attrb=value] and tag.class[attrb=value]

Section 30: Locators (Xpath) - Part 5

Lecture 104 Xpath Locators - Overview

Lecture 105 Types of XPath - Absolute XPath and Relative XPath

Lecture 106 Working with Relative XPath - syntax and practice

Lecture 107 Coding Example with Relative XPath using Attribute and Value

Lecture 108 Coding Example with Relative XPath using text() method

Lecture 109 Some More Examples using Relative Xpath with Double Slash tagname

Lecture 110 Relative XPath - Single & Multi Attributes and using Wild Card for Tag value

Lecture 111 Relative Xpath - and or Logical Operators

Lecture 112 Relative XPath with InnerText using the text() method

Lecture 113 Relative XPath with contains() method for Partial attribute Value

Lecture 114 Relative XPath using starts-with() method for starting attribute Value

Lecture 115 Chained XPath finding Relative XPath using Multiple Html Tags and Index

Lecture 116 Relative XPath using contains() and starts-with() – for text() method

Lecture 117 Coding Example with different XPath concepts learnt so far

Section 31: Locators (XPath Axes) - Part 6

Lecture 118 XPath Axes - Overview with current Element Tag

Lecture 119 Working with XPath Axes - self, parent, ancestor

Lecture 120 Working with XPath Axes - child, descendant

Lecture 121 Working with XPath Axes - preceding-sibling

Lecture 122 Working with XPath Axes - following-sibling

Lecture 123 Working with XPath Axes - preceding and following

Lecture 124 Coding Example with XPath Axes Locators

Lecture 125 XPath Axes - Assignment to practice with Another website

Section 32: Complex XPath - Popular Interview Question - Two Examples

Lecture 126 Complex Xpath using Axes Methods for E-Commerce Website

Lecture 127 Second Example with Complex Xpath using Axes Methods

Section 33: Additional XPath Real time Examples - Interview Perspective

Lecture 128 Complex XPath Interview Question with mobile recharge website

Lecture 129 Second Example for Complex XPath with another mobile recharge website

Lecture 130 Assignment for Complex XPath for Interview Perspective practice

Section 34: CSS Selector vs XPath - Important Interview Question

Lecture 131 CSS Selector vs XPath differences

Section 35: Relative Locators in Selenium 4 (Friendly Locators)

Lecture 132 Relative Locators - Overview

Lecture 133 Coding Example - Relative Locators methods - above() and below()

Lecture 134 Coding Example - Relative Locators methods - toLeftOf(), toRightOf() and near()

Section 36: Selenium WebElement Hierarchy

Lecture 135 Selenium WebElement Hierarchy - understanding the WebElement interface

Section 37: Java Fundamentals - Collections - Set and HashSet

Lecture 136 HashSet in Java - Overview

Lecture 137 HashSet - Coding Example

Section 38: Handling Browser Tabs and Windows

Lecture 138 Current Browser Window Handle - using getWindowHandle() method

Lecture 139 Retrieve all Browser Window or Tab handles - getWindowHandles() method

Lecture 140 Switch to Second Window Tab by using List by Converting the Set

Lecture 141 Switch to other Active Browser Windows based on Web page title

Lecture 142 Coding Example with 5 Browser Tabs opened and closing based on condition

Section 39: New Tab and New Window - Latest Feature in Selenium 4

Lecture 143 SwitchTo().newWindow() - WindowType.TAB or WindowType.WINDOW

Lecture 144 Closing the New Child Window and Switching back to Parent Window -Two Approaches

Lecture 145 Closing Parent or Child Window based on Required Browser Window Handle

Section 40: close() vs quit() methods and NoSuchSessionException, NoSuchWindowException

Lecture 146 close() vs quit() methods for Single Browser Window is open

Lecture 147 close() vs quit() methods for Multiple Browser Windows are open

Lecture 148 close() vs quit() methods - Differences summary

Section 41: WebElement methods - isDisplayed(), isEnabled(), isSelected()

Lecture 149 WebElement methods - Overview

Lecture 150 isDisplayed() method - Coding Example

Lecture 151 isEnabled() method - Coding Example

Lecture 152 isSelected() method - Coding Example

Section 42: Synchronization - Implicit Wait method

Lecture 153 Waits Commands in Selenium - Overview

Lecture 154 Why we should NOT use Thread.sleep() method in Real Time projects

Lecture 155 NoSuchElementException issue with Page Loading - Coding Example

Lecture 156 Implicit wait command - Coding Example with Practical demo

Section 43: Synchronization - Explicit Wait using WebDriverWait Class

Lecture 157 Explicit wait using WebDriverWait class - Overview

Lecture 158 WebDriverWait - Coding Example for Explicit wait Practical demo

Lecture 159 Some Examples for ExpectedConditions for Interview Perspective

Section 44: Synchronization - Explicit Wait using FluentWait Class

Lecture 160 FluentWait Class sample usage - Overview

Lecture 161 FluentWait - Coding Example Practice demo

Section 45: Handling Checkboxes

Lecture 162 Working with single Checkbox and isSelected() method

Lecture 163 Working with multiple Checkboxes with same locator value

Section 46: Handling Alerts / Popups

Lecture 164 Types of JavaScript Alerts - Overview

Lecture 165 Working with JavaScript Normal Alert - getText() and accept() methods

Lecture 166 Working with JS Confirmation Alert - getText(), accept() and dismiss() methods

Lecture 167 Working with JS Prompt Alert - getText(), accept(), dismiss(), sendKeys()

Lecture 168 Working with Basic Auth popups

Section 47: Handling Frames - frame/iframe - Nested Frames

Lecture 169 Handling Frames - Overview

Lecture 170 Coding Example - switchTo().frame() and switchTo().defaultContent() methods

Lecture 171 Coding Example - Switching to Nested Frames

Lecture 172 Working with more elements in Nested Frames - Part2

Section 48: Switching to Parent Frame - Nested Frames (Parent/Child)

Lecture 173 Coding Example - switchTo().parentFrame() method

Section 49: Using PageLoadTimeout and ScriptTimeout

Lecture 174 PageLoadTimeout in Selenium WebDriver - CodingExample

Lecture 175 ScriptLoadTimeout in Selenium WebDriver - Coding Example

Lecture 176 Default Timeouts - Debugging code with WebDriver reference variable

Section 50: PageLoadStrategy in Selenium

Lecture 177 PageLoadStrategy types - Overview - understand all the options

Lecture 178 PageLoadStrategy - Coding Example for passing different strategies

Section 51: Handling Single Select Dropdown

Lecture 179 Select Dropdown overview

Lecture 180 Select class methods to select options in the Dropdown

Lecture 181 Coding Example - selectByIndex(), selectByValue(), selectByVisibleText()

Lecture 182 getOptions() method to retrieve all options in the Dropdown

Lecture 183 getFirstSelectedOption() to retrieve Existing selected option in the Dropdown

Lecture 184 Interview Perspective and using selectByVisibleText() method

Section 52: Handling Bootstrap Dropdown

Lecture 185 Bootstrap dropdown handling - Coding Example - Part 1

Lecture 186 Bootstrap dropdown handling - Coding Example - Part 2

Section 53: Handling Multi Select Dropdown

Lecture 187 Multi Select Dropdown - Overview

Lecture 188 Using selectByIndex(), selectByValue(), selectByVisibleText() methods

Lecture 189 Using deselectAll(), getAllSelectedOptions(), getFirstSelectedOption()

Lecture 190 Using isMultiple() method for Multi Select Dropdown

Section 54: Handling Hidden Dropdown

Lecture 191 Hidden Dropdown Handling - Overview

Lecture 192 Coding Example - Select required option in the Hidden Dropdown

Lecture 193 Coding Example - Retrieve all options from the Hidden Dropdown

Section 55: Handling Auto Suggestion Dropdown

Lecture 194 Auto Suggestion Dropdown - Overview

Lecture 195 Coding Example - Retrieve all options and Click on required option

Section 56: Handling Static Web Tables

Lecture 196 Static Web Tables - Overview

Lecture 197 Different tags in the HTML Web Table - Overview

Lecture 198 Find the Number of Rows in the Web Table

Lecture 199 Find the Number of Columns in the Web Table

Lecture 200 Retrieve specific value based on Web Table row and column

Lecture 201 Retrieve all rows and columns from the Web Table

Lecture 202 Retrieve BookName based on the Author in the Table

Lecture 203 Get the Total Price of all the Books in the Table

Section 57: Handling Dynamic Pagination Web Tables

Lecture 204 Dynamic Pagination Web Table - Overview

Lecture 205 Get the number of pages in the Pagination Web Table

Lecture 206 Navigating the Pages in the Pagination Web Table

Lecture 207 Number of rows in a Current Page in the Pagination Web Table

Lecture 208 Retrieve Table Data rows information from 10 Pages

Lecture 209 Retrieve Row information from all the Pages in the Table

Lecture 210 Assignment another website for Pagination Web Table

Section 58: Handling Calendar / Date Pickers

Lecture 211 Handling Date Pickers or Calendar - Overview

Lecture 212 Coding Example - Handling Date Picker with sendKeys() date value

Lecture 213 Approach 2 - Select Month and Year in the Calendar - Future Dates

Lecture 214 Approach 2 - Select Month and Year in the Calendar - Past Dates

Lecture 215 Approach 2 - Select Date from the Calendar

Lecture 216 Writing Custom Methods for Date Picker and Parameterize with Reusable code

Section 59: Performing Mouse Actions

Lecture 217 Mouse Actions - Overview

Lecture 218 Mouse Hover - Coding Example to Find the Locators of Elements - Part 1

Lecture 219 Mouse Hover - Coding Example using moveToElement() method - Part 2

Lecture 220 Right Click - Coding Example using contextClick() method

Lecture 221 Double Click - Coding Example using doubleClick() method - Part 1

Lecture 222 Double Click - Coding Example using doubleClick() method - Part 2

Lecture 223 Drag And Drop - Coding Example using dragAndDrop() method

Lecture 224 Handling Sliders - Overview

Lecture 225 Handling Sliders - Coding Example using dragAndDropBy() method

Lecture 226 Action vs Actions difference in Selenium - Coding Example

Section 60: Performing Keyboard Actions

Lecture 227 Keyboard Actions - Overview

Lecture 228 Keyboard Actions - Coding Example for keyDown and keyUp methods

Lecture 229 Additional Tips for different combinations with Keyboard Actions methods

Lecture 230 Keyboard Actions - Coding Example for opening Hyperlink in New Browser Tab

Lecture 231 Keyboard Actions - Coding Example for opening Hyperlink - Part 2

Section 61: Working with JavascriptExecutor in Selenium

Lecture 232 JavascriptExecutor in Selenium - Overview

Lecture 233 JavascriptExecutor - executeScript() method for Entering Text value

Lecture 234 JavascriptExecutor - executeScript() method for clicking Element

Lecture 235 Handling ElementClickInterceptedException using JavascriptExecutor

Section 62: Scrolling the Web Pages

Lecture 236 Scrolling Web Pages down to the Specified Coordinates

Lecture 237 Scrolling Web Page down to the Required Element

Lecture 238 Scrolling Web Page down to the End of Page and Start of Page

Section 63: Maximize, Minimize and Set Zoom Level for the Browser

Lecture 239 Maximize and Minimize the Web Browser window

Lecture 240 Set Zoom Level of the Web Browser Page

Section 64: Uploading Files in Selenium

Lecture 241 Upload Files using sendKeys() - Single File Upload

Lecture 242 Upload Files using sendKeys() - Multiple Files Upload

Section 65: Capture Screenshots - Full Page and Elements

Lecture 243 Capturing Screenshots in Selenium - Overview

Lecture 244 TakesScreenshot - Full Web page using driver reference

Lecture 245 TakesScreenshot - Capturing Screenshot for an WebElement

Section 66: Chrome Options class - setting up browser profile

Lecture 246 Headless Browser Testing with Options Class arguments

Lecture 247 Handling SSL Certificate Errors using Options Class

Lecture 248 Chrome Browser - Removing automated test software message

Lecture 249 Opening Chrome Browser in Incognito mode

Lecture 250 Maximize the Chrome Browser window in Two ways

Lecture 251 Enable Extension for Blocking Ads - Overview

Lecture 252 Enable Extension for Blocking Ads - Coding Example

Section 67: Web Browsers in Incognito, Private mode

Lecture 253 Chrome browser - incognito mode

Lecture 254 Edge browser - inprivate mode

Lecture 255 Firefox browser - private mode

Section 68: getCssValue() method - Color and Font CSS Properties

Lecture 256 getCSSValue() method - Overview

Lecture 257 getCSSValue() - Retrieve the Color and Font - CSS properties

Lecture 258 getCSSValue() - convert RGB to HexaDecimal value for Color Validation

Section 69: getDomAttribute() and getDomProperty() in Selenium 4

Lecture 259 getAttribute() method and Why it is Deprecated in 4.27 latest version

Lecture 260 Coding Example with Attribute exists, Property is null

Lecture 261 Coding Example with Property exists, Attribute is null

Lecture 262 Coding Example for checking Property after performing sendKeys() in textbox

Lecture 263 Additional Coding Example with different website - Attributes and Properties

Lecture 264 Checking the Official Changelog for Latest Selenium features released

Section 70: Verifying the Broken Links and Broken Images

Lecture 265 Checking the Broken Links and Broken Images - Overview

Lecture 266 Coding Example - Retrieve All Links from the Web Page

Lecture 267 Coding Example - Converting the Links from Relative URL to the Absolute URL

Lecture 268 Coding Example - Adding Validations for checking the Broken Links

Lecture 269 Coding Example - Checking Broken Links with Some More Websites

Lecture 270 Coding Example - Checking Broken Images with the same Approach as Broken Links

Section 71: Handling Shadow DOM Elements

Lecture 271 Shadow DOM Elements - Overview

Lecture 272 Using getShadowRoot() method for Handling Shadow DOM Element

Lecture 273 Handling Nested Shadow DOM Elements - Coding Example

Section 72: Handling SVG Elements - Images

Lecture 274 SVG (Scalable Vector Graphics) Elements - Overview

Lecture 275 Creating Local HTML file with SVG Elements using Visual Studio Code

Lecture 276 Coding Example - Retrieve SVG Elements attribute value from Local HTML file

Lecture 277 Coding Example - Retrieve SVG Elements attribute value for Realtime Website

Section 73: Handling Pseudo Elements - CSS

Lecture 278 Pseudo Elements in CSS - Overview

Lecture 279 Handling Pseudo Elements using JavascriptExecutor code

Lecture 280 Handling Pseudo Elements - Coding Challenge - Another Example

Section 74: Selenium Exception Hierarchy

Lecture 281 Selenium Exception Hierarchy - WebDriverException class

Section 75: Common Exceptions in Selenium (10 Exceptions) - Part 1

Lecture 282 Reproducing and Fixing the NoSuchElementException - popular Selenium Exception

Lecture 283 Reproducing the NoAlertPresentException

Lecture 284 Reproducing the NoSuchFrameException

Lecture 285 Reproducing the NoSuchShadowRootException

Lecture 286 Reproducing the NoSuchWindowException

Lecture 287 Reproducing the NoSuchSessionException

Lecture 288 Reproducing the InvalidSelectorException

Lecture 289 Reproducing the TimeoutException

Lecture 290 Reproducing the NoSuchDriverException

Lecture 291 Reproducing and Fixing the StaleElementReferenceException - Imp. for Interviews

Lecture 292 Selenium Exception Handling using try catch finally blocks

Section 76: Common Exceptions in Selenium (6 Exceptions) - Part 2

Lecture 293 Reproducing the UnexpectedTagNameException

Lecture 294 Reproducing the UnhandledAlertException

Lecture 295 Reproducing the InvalidArgumentException

Lecture 296 Reproducing the JavascriptException

Lecture 297 Reproducing the ElementNotInteractableException

Lecture 298 Reproducing the ElementClickInterceptedException

Lecture 299 Removed in Selenium 4: ElementNotVisibleException, ElementNotSelectableException

Section 77: Handling Cookies in Selenium

Lecture 300 Handling Cookies - Overview

Lecture 301 Retrieve All Cookies and Specific Cookie by Name

Lecture 302 Add Cookie to the Browser Session

Lecture 303 Delete Cookie Object, Delete Cookie by Name, Delete All Cookies

Section 78: End to End Test Scenarios Automation with Selenium

Lecture 304 End to End Testing with E-Commerce Website - Overview

Lecture 305 Navigating to the Product Page using Actions Class and Window Handles

Lecture 306 Capturing the Product Page Information

Lecture 307 Adding Cart Validations to Match with Product page information

Lecture 308 Assignment - 3 Additional Testcases for Interview Preparation

Section 79: Lambda Expression Concept in Java

Lecture 309 Lambda Expression in Java - Overview

Lecture 310 Implementing Interface methods in Separate Class

Lecture 311 Anonymous Class concepts with Parent Interface and Parent Class

Lecture 312 Lambda Expression - Coding Example without Parameters

Lecture 313 Lambda Expression - Coding Example with Parameters

Lecture 314 Java Project code to download - Lambda Expression concepts

Section 80: Chrome Devtools Protocol (CDP) features with Selenium 4

Lecture 315 Chrome DevTools Protocol - Overview

Lecture 316 Chromium Driver class added in Selenium 4

Lecture 317 CDP - Warning message and Upgrade to Latest Selenium version

Lecture 318 Load Insecure Website with DevTools using Security domain

Lecture 319 Using executeCdpCommand() method for CDP Features

Lecture 320 Retrieve Browser Console Logs using Log Domain in CDP

Lecture 321 Network Offline Mode using Network Domain in CDP

Lecture 322 Network Online Mode using Network Domain in CDP

Lecture 323 Emulate Network Speed - Connection Type - 2G, 3G, 4G, WiFi

Section 81: Selenium Grid 4 - RemoteWebDriver - Traditional VMs Mode

Lecture 324 Selenium Grid 4 - Overview and Different Modes to Run Tests

Lecture 325 Selenium Grid 4 - Practical Coding Demo for Standalone Mode

Lecture 326 Selenium Grid 4 - Hub and Node Mode - Starting Hub and Nodes

Lecture 327 Selenium Grid 4 - Hub and Nodes on the Same Machine - Practical Coding Demo

Lecture 328 Important Changes for Selenium Grid 4 - Grid URL and Options Class usage

Section 82: Selenium Grid 4 - Docker Mode - Containers

Lecture 329 Selenium Grid 4 - Docker Mode - Overview

Lecture 330 Docker Desktop - Software Installation

Lecture 331 Docker Fundamentals - Image, Container, Hub, Commands

Lecture 332 Selenium Grid 4 - Docker Containers - Standalone Mode Setup

Lecture 333 Running the Selenium Java Code in Docker Containers

Lecture 334 Docker Compose File and Commands - Practical hand's-on

Lecture 335 Running Tests on Multiple Containers using Docker Compose

Lecture 336 Selenium Grid 4 - Hub and Nodes - Docker Mode

Lecture 337 Selenium Grid 4 - Full Distributed Grid - Docker Mode

Section 83: Complete Selenium Java Project Code and Notes download

Lecture 338 Selenium Java Project Code

Lecture 339 Selenium Java Course Notes

Lecture 340 Java Fundamentals Project Code

Lecture 341 Java Fundamentals Course Notes

Section 84: Bonus Lecture

Lecture 342 Congratulations - Bonus Lecture

Beginner Automation Test Engineers looking to learn Selenium Java Automation,Automation Testing enthusiasts looking to learn Selenium WebDriver from scratch,Manual Testers looking to switch into Automation Testing role,QA Freshers looking to get into the Software Industry