
Master Selenium WebDriver with Java for beginners through practical, real-world web automation using Selenium 4, Grid 4, Chrome DevTools Protocol, and Docker.
Learn to use the course Q&A and feedback tools to ask detailed questions, avoid premature ratings, and share genuine end-of-course feedback for the Selenium WebDriver with Java course.
Explore the three main software application types: desktop, web, and mobile, along with examples like notepad, Amazon, and WhatsApp, and discuss connectivity and intranet considerations.
Explore Selenium as a web automation suite, with WebDriver programming in Java to automate web apps across multiple browsers and operating systems, using Grid for distributed, parallel testing.
Explore Selenium's history from its 2004 origin by Jason Huggins at ThoughtWorks to a popular open-source web automation tool, named from a Mercury joke, with millions of users.
Examine selenium as an open-source, cross-platform web automation tool that supports multiple browsers and languages, its integrations with reporting tools, and limitations with windows apps, APIs, and captcha.
Trace the evolution of selenium versions from 1.0 to 4.25.0, covering IDE, remote control, grid, and WebDriver, with Firefox, Chrome, and Edge support, and emphasis on using latest releases.
Learn how to stay updated on Selenium with official channels like LinkedIn and selenium.dev. Explore the latest version 4.25.0, and understand web automation using WebDriver, Selenium IDE, and Selenium grid.
Discover how selenium web driver with java enables web automation, explore the official github repo, understand browser and operating systems support, and get an overview of the selenium ecosystem across languages.
Install the Java Development Kit 21 and the Eclipse IDE on Windows, configure environment variables, verify with java -version, and understand JRE as the runtime component.
Install the Eclipse integrated development environment and discover how it provides a coding editor, compile, run, and debug Java programs, with Maven and Gradle support to build and package jars.
Learn to set up an Eclipse workspace, create a Java project, and write and run your first Hello world program using package and src structure.
Explore the differences between System.out.println and System.out.print, including newline behavior, escape sequences like \n and \t, and practical hands-on examples in Java.
Learn the basic syntax concepts in Java, including package naming conventions, class and file naming, the role of the main method, semicolon termination, and method bodies.
Learn how Java packages organize files as folders, create user defined and sub packages, and use inbuilt packages like java.lang, with automatic import for java.lang and explicit import for others.
Master adding single line and multi line comments in Java to document code, disable code for debugging, and use Eclipse features like toggle and block comments.
Explore variables and data types in java, distinguishing primitive from non-primitive types. Learn how primitive types like int, float, double, char, boolean differ from non-primitive types like strings and collections.
Learn how to use Java primitive data types for integers, including byte, short, int, and long, and how memory and literals affect storage and printing to the console.
Learn to store decimal values with float and double in Java, using price, salary, and weight as examples, and understand memory use and the need for f with float.
Learn to store a single character with the char data type using single quotes for letters and special characters, and use boolean values with true or false in conditional logic.
Learn the basics of classes and objects in Java, where a class is a template with variables and methods, and objects are runtime instances created with the new keyword.
Learn to build a Java car class with speed and price attributes, create BMW and Tesla objects in the main method, and print values using methods.
Build an employee class as a template with employee id and salary and print methods for each. Create a separate test class with a main method to instantiate objects.
Explore Java methods by covering four input and return type combinations. Use a library example with welcome, total books, issue book, and late fee methods called from main.
Learn how java constructors initialize object values, differentiate default and parameterized constructors that accept input parameters, and why constructors have no return type or void and share the class name.
Learn how the this keyword in Java refers to the current object, differentiates instance and local variables, and can be used to call constructors and access instance data.
Explore how the static keyword in Java makes variables and methods belong to the class, not to objects, and how static members are shared and accessed via the class name.
Set up Selenium in a new Maven-based Eclipse project, add dependencies in pom.xml, and download Selenium Java jars from Maven Central to build a working test automation setup.
Learn to launch a chrome browser using Selenium WebDriver in Java, initialize the chrome driver, navigate to web pages with driver.get, maximize the window, and close or quit.
Launch a Chrome browser in Java with new ChromeDriver. Use a driver reference to load a URL, maximize the window, and get the title, and close the browser.
Compare the navigate to method with the get method in Selenium WebDriver for Java; navigate adds back, forward, and refresh to manage browser history.
Practice using the navigate method to back, forward, and refresh across three sites: google, selenium.dev, and academy, and compare it with get method behavior for observing browser state.
Update the version number in the pom.xml dependencies to use the latest selenium java release. Download the jars to the local .m2 repository automatically via Maven.
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 covered
Software Installation and Java concepts - 10 hours of detailed video sections are added
All required topics to master the Selenium WebDriver concepts are covered in the course
Get Started with Selenium Java Automation
--> Launching different browsers with Selenium Java code
--> Navigate vs Get method differences
--> findElement and findElements coding Examples
Selenium WebDriver Hierarchy
--> Understand the Hierarchy of Different Interfaces and Browser Driver Classes with the WebDriver Interface
Selenium Manager - Automated Driver Management
--> Practical demonstration of the Automated Driver binaries downloads from Selenium 4.6.0 onwards
Selenium Manager - Automated Browser Management
--> Practical demonstration of the Automated Browser downloads for the Chrome and Firefox browsers
Selenium WebDriver Architecture
--> Understand the actual working of the W3C Protocol for the Selenium 4 WebDriver Architecture
Selenium WebElement Hierarchy
--> Understand the Hierarchy of the WebElement Interface with different Parent Interfaces
Locators in Selenium
--> Detailed Examples on all different Locators in Selenium
--> Id, Name, ClassName, TagName, LinkText, PartialLinkText, CSS Selector, XPath
Relative 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 Elements
Handling Frames
--> Switching to Frames - ID, Name, Index, WebElement
--> Working with Nested Frames
--> Switching to Parent Frame and Main web page
Handling 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 Handling
Handling Dropdowns
--> Single Select Dropdown
--> Multi Select Dropdown
--> BootStrap Dropdown
--> Hidden Dropdown
--> Auto Suggestion Dropdown
Synchronization - Wait methods in Selenium WebDriver
--> ImplicitWait - using Duration class - Latest Selenium 4 feature
--> ExplicitWait using WebDriverWait
--> ExplicitWait using FluentWait
PageLoadTimeout and ScriptTimeout concepts in Selenium WebDriver
--> Learn how to use them with Coding Examples
Default Timeout values in Selenium WebDriver
--> Debugging the WebDriver reference variable in Java Runtime
PageLoadStrategy in Selenium WebDriver
--> Three Page Loading Strategies - NORMAL, EAGER, NONE
Handling Checkboxes
--> Single Checkbox
--> Multiple Checkboxes
WebElement methods for checking Element presence, Enabled, Selected
--> isDisplayed(), isEnabled(), isSelected()
Handling Static Web Tables
--> Multiple coding examples on Handling Static WebTable elements
Handling Dynamic Pagination Web Tables
--> Multiple coding examples on Handling Dynamic Pagination WebTable elements
Handling Calendar - Date Pickers
--> Different approaches to Handling Date Picker fields
Performing Mouse Actions
--> Action Class for Mouse Operations
--> moveToElement() for Mouse Hover
--> contextClick() for Right Click
--> doubleClick()
--> dragAndDrop(source,target)
--> dragAndDropBy() for Handling Sliders
Performing Keyboard Actions
--> KeyDown(), KeyUp(), Keys
JavascriptExecutor in Selenium
--> performing click and sendKeys with JavascriptExecutor
--> ElementClickInterceptedException and handling it with JavascriptExecutor
--> Scrolling the Web Pages with JavascriptExecutor
Maximize, 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() method
Capturing Screenshots
--> Full Web Page screenshot using the driver reference variable
--> Capture the WebElement screenshot - Latest Selenium 4 feature
Options 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 mode
Broken Links and Broken Images
--> Verifying the Broken Links and Broken Images using Java HTTP methods - Important for Interviews
Handling Shadow DOM Elements
--> Shadow Host, Shadow Root and Working with the Shadow Root elements
Handling SVG Elements (Scalable Vector Graphics)
--> Working with the SVG Elements - vector images - circle, rect, line, polygon, path, g
Handling Pseudo Elements - CSS
--> Using JavascriptExecutor code to Retrieve the Pseudo Element property values
Selenium Java - Common Exceptions encountered
--> 16 Different Exceptions are discussed in detail, with coding examples
--> Handling the Exceptions using try, catch, finally blocks
Handling 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 Cookies
End 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 preparation
Chrome 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 Demo
Selenium 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 file
Students have Lifetime access to the recordings from Udemy.
Course can be accessed from Desktop Web browser on Udemy website, Mobile Apps (Android and iOS).