Video description
Do you want to perform automation testing on website applications with Selenium and Java? This video course will help you build your knowledge of Selenium WebDriver by guiding you through the basics of Java. You will gain the confidence to perform automation testing on any web application. The topics range from basic to advanced levels, covering a variety of tips and tricks to help you progress.
The course starts with an introduction to Selenium and Java and delves into Selenium WebDriver and the Java concepts needed for manual testing and Selenium automation. Next, you will gain insights into functional testing with Selenium and execute browser testing, database testing, and performance testing on a Selenium script. You will also learn mobile testing basics and the latest features of Selenium 4.0.
As you advance, you will understand the framework design of TestNG, ANT, page object, Maven, Jenkins, Excel data-driven, Cucumber, and log4j. Toward the end, you will become familiar with core Java concepts, perform cloud testing with Selenium, and explore interview questions.
By the end of this course, you will have learned Selenium and be equipped with the skills you need to perform end-to-end automation testing for web applications.
What You Will Learn
- Design hybrid automation frameworks from scratch
- Gain knowledge of TestNG, Maven, Jenkins, Cucumber, and HTML reports
- Handle a rich web user interface (UI) using advanced Selenium WebDriver
- Automate any website over the Internet with all the possible test cases
- Verify data integrity with the graphical user interface (GUI) of the application
- Write the best-optimized code for automating test cases
Audience
If you are new to software development and testing or are an experienced manual tester who is looking to master Selenium to move into automation testing, then this course is for you. No prior experience in programming or Java coding is needed to get started on this course.
About The Author
Rahul Shetty: Rahul Shetty is the founder and trainer at Rahul Shetty Academy. He is a passionate software tester and has 13 years of rich experience in the IT industry. He has completed more than 300 offline training batches. Rahul has extensive knowledge in web automation testing, mobile automation testing, and API automation testing. He has also worked with various CMM-level organizations and managed the set-up of QA processes for projects.
Table of contents
- Chapter 1 : Selenium Introduction
-
Chapter 2 : Install Java and Selenium -Get Started with the Basic Steps of the Selenium WebDriver
- Install Java and Eclipse – Set Up Maven Project from Scratch
- How to Set JAVAHOME Path in MAC
- Understanding the Core Concept of Browser Driver Classes and WebDriver Interface
- How to Run Tests in Google Chrome and Importance of Chromedriver.exe file
- Troubleshooting Steps, If You Fail to Invoke Chrome Browser with Selenium
- Getting Started with Basic Selenium WebDriver Methods
- Update with the Latest Selenium Version - Selenium Manager (Beta)
- How to Run Tests in Firefox and Edge Browser with Gecko and Edge Drivers
- Running the Tests in Microsoft Edge Browser- Importance of Edge Driver
-
Chapter 3 : Brush Up Java Concepts for Selenium Automation
- Course Strategy to Learn Java Basics for Selenium Automation
- Introduction to Java Variables and Data Types with Examples
- What Are Arrays in Java? How to Initialize and Retrieve the Values of Array
- Introduction to For Loop to Iterate over Array of Strings and Integers
- Enhanced for Loop Declaration and Using Conditional Statements Inside the Loops
- What Is Arraylist and Differences Between Arraylist and Arrays
- Iterating over Arrays and Arraylists and Its Related Methods
- Strings in Java - How to Declare Strings and Important String Methods
- How to Create Methods and Access Methods Using Java Class Objects
-
Chapter 4 : Locator Techniques and Tools Used to Identify Objects
- Importance of Locators in Selenium WebDriver to Identify the Elements
- Identifying the Web Elements with ID and Name Locators with Example
- Introducing Class Name and CSS Selector Locators to Identify Elements
- Browser Plugins - Selectorshub to Identify and Validate the Elements on the Page
- Working with Xpath and linktext Locators and Different Ways of Writing xpaths
- Building Customized Xpath and CSS Selector Locators Based on HTML Attributes
- Generating xpaths with Parent to Child Tags Traverse Techniques
-
Chapter 5 : Advanced Locators Identification and Interview Questions on Parsing Text
- Generating CSS Selectors Based on Regular Expressions - Example
- Identifying Web Elements Based on Unique Tag Name Locators - Example
- Generating xpaths Based on the Button Texts on the Page with the Example
- Parse the String with Java Methods to Get the Password Dynamically from the Page
- Running the Tests in Cross Browser and How to Inspect Objects in Edge and Firefox
- Identify Locators Using Siblings with Xpath Traverse - Example
- How to Traverse from Child Element to Parent Element with xpath - Example
- Automate Browser Navigations and Window Properties with Selenium WebDriver
-
Chapter 6 : Selenium WebDriver - Techniques to Automate Web Elements
- Handling Static Dropdowns with Select WebDriver API
- Updated Lecture on Latest Dropdown Looping UI
- Handle Dynamic Dropdowns with WebDriver API
- Parent-Child Relationship Locator to Identify the Objects Uniquely
- Handling AutoSuggestive Dropdowns Using Selenium
- Handling Checkbox and Getting the Size of Them with Selenium
- Importance of Assertions in Automation Testing and How to Use Them
- Handling Calendar UI in Travel Websites Using Selenium
- Validating if UI Elements Are Disabled or Enabled with Attributes
- End-to-End Automation Using All UI Elements with Selenium
- Handling Java Alerts Using Selenium WebDriver
-
Chapter 7 : Deep Dive into Functional Testing with Selenium
- Code Formatting and Debugging
- Problem - Adding Items to Cart for Ecommerce App
- Sending Array of Products to Cart for Checkout
- Building Programming Logic to Process Items in Array for Cart
- Debugging the Code to Understand How Flow Is Being Built
- Fixing the Problem of Inconsistent Locators and Making Tests Clean
-
Chapter 8 : Synchronization Usage in Selenium WebDriver
- What Is Implicit Wait? Explain with Real-Time Scenario
- What Is Explicit Wait? Explain with Real-Time Scenario
- Scenario to Automate and Necessity of Waits in the Example
- Practical Examples of Implicit Wait
- Practical Examples of Explicit Waits
- What Is Fluent Wait and Its Advantages?
- Building Customized Methods Using Fluent Wait
- Practise Example on Fluent Wait
- Chapter 9 : Techniques to Automate Ajax Calls, Child Windows, and iframes
-
Chapter 10 : Real-Time Exercises (End-to-End Programming)
- Practise Exercise- Print the Links Count in the Page
- Exercise 1.1 - Limiting WebDriver Scope
- How to Open the Links in Separate Tabs - Optimized Solution
- Getting the Titles of Child Tabs with Optimized While Loop
- Handling Calendar UI in Travel Websites
- Generic Method to Handle Calendar with Month and Date
- Solved Example on Calendar Methods
- Chapter 11 : Practical Problems and Methods to Handle Them with Selenium
-
Chapter 12 : Miscellaneous Topics in Selenium WebDriver
- Handling HTTPS Certifications in Automated Browsers
- Explore Chrome Options to Set Proxies, Plugins, and Paths on Chrome Browser
- Maximizing Window and Deleting Cookies
- How to Take Screenshots in Selenium
- Strategy to Automate the Broken Links with Selenium
- Open Connection Method to Identify Status Codes of the Links
- Iterate over All Links in the Page to Validate Broken Links Mechanism
- Importance of Soft Assertions in Selenium WebDriver
-
Chapter 13 : Selenium Java Streams - Automate Sort, Pagination, Filtering the Web Tables
- Important Note - Plan of Learning this Section
- Learn Everything about Java Streams
- Perform Web Table Sorting Using Selenium Java Streams
- Build Custom Selenium Methods Using Streams Mapper
- Automating Pagination Scenarios to Search the Data Using Do While Loop
- Filter the Web Table Using Selenium Java Streams
- Chapter 14 : Selenium 4.0 - Latest Features
-
Chapter 15 : Framework Part -1 - TestNG
- Why TestNG and Its Advantages
- Running Testcases in TestNG without Java Compiler
- Importance of xml File in TestNG Configuration
- Prioritizing the Testcases with TestNG
- Include and Exclude Mechanism to Control Testcases
- Executing the Testcases at Package Level with Regex
- TestNG Annotations Part - 1
- TestNG Annotations Part - 2
- Usage of Groups Functionality in TestNG
- Annotations Helper Attributes with Examples
- Parameterising from TestNG xml File
- DataProvider Annotation -Parameterizing Testcases - 1
- DataProvider Annotation -Parameterizing Testcases-2
- Listeners Interface in TestNG Framework
- Running Tests in Parallel and Generating Reports
-
Chapter 16 : Framework Part 1 - Create Maven Project and Prepare Functional End-to-End Test
- FAQs about Framework Design - (Must Watch)
- Create New Maven Project and All Framework Dependencies
- Ecommerce Application Demo to Be Used in the Framework
- Selenium Program on WebDriverManager - Login- Get Products List
- Selenium Program to Retrieve Product and Add to Cart Based on Java Streams
- Implementation of Explicit Wait to Handle Application Synchronously on Loading
- Logic to Verify Items in the Cart with Streams and Checkout
- Wrapping Up End-to-End Automation Script on Purchasing Order in Ecommerce App
-
Chapter 17 : Framework Part 2 - Design Pattern - Page Object and Factory Implementation
- What Is Page Object Model? Advantages of Its Implementation
- Creating Page Object Classes for Login Screen and Migrating the Test
- Implementing Action Methods for Page Factory Web Elements to Implement Logic
- Creating Abstract Components to Reuse the Common Methods/Code in framework
- Page Object Class Implementation for Product Catalogue Page and Update Test
- Speed Up Your Test Execution - Fix for Application Slowness in the Backend
- Creating Common Methods to Abstract Component and Extending It in Page Classes
- Wrapping Up the Whole Test with Complete Refactor into Page Object Model
-
Chapter 18 : Framework Part 3 -Test Configuration Methods and Global Properties and Parallel Runs
- Creating Base Test Which Holds Common Test Configuration Methods
- Initialize Driver and Create Utility to Launch App with BeforeMethod Annotation
- Create New Error Validation Test as Per Framework Standards Developed Until Now
- Implement Test Strategy for Framework on How Tests Are Divided Based on Modules
- Create New Test Methods with Dependency Attribute Based on Test Strategy Design
- How to Run Tests/Classes in Parallel and Apply Groups Using TestNG.xml
-
Chapter 19 : Framework Part 4 – Test Strategy- Control Tests Execution- Run Parallel Tests
- Agenda of Implementing Parameterization into Tests with TestNG Data Provider
- Integration of HashMap to Data Provider to Send the Data as One Hash Object
- How to Read the Data from JSON Files and Create the List of HashMaps for Testing
- How to Create Screenshot Utility in Base Test Class for Catching Failed Tests
-
Chapter 20 : Framework Part 5 -Extent HTML Reports and TestNG Listeners and Thread Safe Execution
- What Are Extent Reports? Quick 30-Minute Tutorial
- Integrating Extent Reports to Existing Framework with the Help of TestNG Listeners
- Attaching Screenshot to Reports from Listeners on Automatic Test Failures
- Concurrency Problem -Implement ThreadLocal Class to Avoid Sync Issues in Tests
- IRetryAnalyzer to rerun the flaky failed Selenium tests in the framework
-
Chapter 21 : Framework Part 6 - Test Execution from Maven and Integration with Jenkins CI/CD
- How to Run Tests in the Framework from Terminal Using Maven Commands
- Set Global Parameters Using Maven Commands and Update Tests at Runtime
- Install Jenkins in the Local System for CI/CD
- Integrate the Selenium Framework with Jenkins and Parameterize Jenkin Job
- How to Run Tests in Headless Mode and Integrate the Parameter in Jenkins
- Schedule Jenkin Jobs with Regular Expression and Trigger Nightly Automation Jobs
-
Chapter 22 : Framework Part 7 - Integrating Cucumber Wrapper into Selenium Framework
- Important Note - How Much Cucumber Does This Course Cover?
- Introduction to Cucumber and Its Terminologies with Examples
- Setting Up Cucumber Dependencies into Framework and Creating Feature Files
- Implement Step Definitions for Features and Understand Regular Expressions
- Inject Selenium Code in Step Definition and Introduction to Tidy Gherkin Plugin
- Introduction to TestNG Test Runner to Run Cucumber Feature Files
- Control the Cucumber Feature Files Execution with Tags and Background Keywords
- Chapter 23 : Framework Part 8 - Common Selenium Framework OOPS Interview Questions
-
Chapter 24 : Understand Excel Data-Driven Testing Functions with Examples
- What Is Apache POI API and Download Instructions
- Strategy to Access Excel Data
- Getting Rows and Its Cells from Sheet
- Retrieving Data from Excel Based on Condition
- Practise Exercise- Excel Driven Testing -1
- Practise Exercise- Excel Driven Testing -2
- Practise Exercise- Excel Driven Testing -3
- Importance of DataProvider and Excel Integration for Better Data-Driven Building
- Understand DataProvider and How It Sends Data in Multidimensional Array
- Get Excel Dependencies and Connect from Java Code to Excel
- Live Demo on Integrating Excel to DataProvider to Parameterize Data
-
Chapter 25 : Cross Browser Testing with Selenium Grid
- What Is Selenium Grid? Its Advantages on Bringing Down Execution Time
- Getting Started with Grid Infrastructure Setup - Create Components
- Create Node Physical Machines and Register with Grid-Check Grid Health
- Create Selenium TestNG Tests with Desired Capabilities and Remote WebDriver Class
- Demo on Executing the Selenium Scripts in Node Machines from Grid Hub
-
Chapter 26 : Selenium 4 Chrome Dev tools Protocol (CDP) Integration Concepts
- What Are Chrome Dev Tools? Why Do We Need This for Selenium Testing?
- Understand Device Metrics Override Function to Simulate Browser As Mobile
- Importance of Execute CDP Command to Construct Your Own CDP Functions
- Localization Testing with Selenium 4 Using ChromeDevTools Protocols
- How to Extract Network Responses and Status Codes with Selenium CDP Listeners
- Intercept Network /API Responses with Selenium Chrome Dev Tools
- How to Test Failed Network Request Calls with Selenium CDP Commands
- Blocking Unwanted Network Request Calls to Speed Up the Execution with Selenium
- How to Emulate Network Speed with Selenium ChromeDevTools Integration
- Working with Basic Authentication Using Selenium uriPredicate Function
- How to Log JavaScript Errors from Selenium Script to Console for Debugging
-
Chapter 27 : Database Connection to Selenium Testcases
- Steps to Connect Database to Selenium Testcases
- MySQL Download Instructions
- MySQL Server Connection Procedure
- Creating Database in MySQL Server
- Creating Tables in Databases
- Inserting Records into Table
- Integration of Database with JDBC API
- Steps to Connect Database Info to Selenium - 1
- Steps to Connect Database Info to Selenium - 2
-
Chapter 28 : File Uploading (AUTO IT) and Downloading with Selenium
- Handling Window Authentication Pop-Ups with Selenium
- Examples on Handling Pop-Ups with Modified WebDriver URL
- What Is AutoIT? Installation Details
- Inspecting the Window Objects and Converting into AutoIT Code
- End-to-End Example on Uploading File with AutoIT Selenium
- Steps to Complete the Flow to Download File from Application with Selenium
- Chrome Driver Options to Configure Download Path of Browser
- Chapter 29 : Cross Browser Testing on Cloud Using Third-Party Vendors
-
Chapter 30 : Git - Version Control Tutorial
- Introduction to Git
- Importance of GitHub and Its Uses
- Creating Git Config and Repositories
- How to Push Code to Remote Repository
- Understanding Staging and Commit in Git
- Add Remote Repository and Push the Committed Code
- End-to-End Working Example on Git Commands -1
- End-to-End Working Example on Git Commands -2
- Importance of Branching in Git
- How to Resolve Merge Conflicts with Git
-
Chapter 31 : Maven - Build Management Tool In-Depth Information
- Importance of Maven in Framework Development
- Installing and Configuring Maven
- Creating Maven Project and Understanding Its Terminologies
- Understanding POM.xml File and Its Dependencies
- Importance of surefirePlugin in Executing Tests
- Integration of TestNG with Maven
- Switching the Tests with Maven Profiling
-
Chapter 32 : Java OOPS Basics for Selenium Part -1
- Writing the First Executable Program in Java
- Usage of Methods in Java
- Importance of Classes and Objects in Java
- Two Ways of Defining a String Object – Important from an Interview Point of View
- String Class and their Methods
- Practise Exercise Reverse String Logic Palindrome
- If-Else Condition Usage in Java
- How For Loops Work - Example
- When Should I Use While Loop?
- How Do While Loop Works?
- Explanation on Nested For Loops
- Practise Exercise on Loops -1 (Printing Pyramid Triangle)
- Practise Exercise - 2- Yahoo Questions: (Inverted Sequence Pyramid Logic Program)
- What Is Interface?
- How Java Classes Can Take Advantage of Interfaces
- What Are Abstract Classes and How Different They Are from Interfaces
- Usage of Inheritance in Java
- Practical Examples on Types of Inheritances
- Explaining Function Overloading in Java with Example
- How Different Is Function Overriding from Overloading? - Explain
- What Are Arrays and Their Usage in Java Programs
- Ways of Initializing Arrays and Assigning Objects
- Logic Program on Multi-Dimensional Arrays
- Practise Exercise - Print Smallest Number in 3*3 Matrix
- Practise Exercise - Cisco Interview Question on Arrays
-
Chapter 33 : Core Java Tutorial - Part 2
- Date Class Concepts
- working with Calendar Objects in Java
- How Constructor Plays a Crucial Role
- Types of Constructors and Their Usage
- What Is Super Keyword?
- Super Keyword Practical Usage
- Importance of This Keyword
- Static and Non-Static Importance in Java
- Final Keyword in Java
- Packages and Their Usage in OOPS
- Types of Packages and How They Will Help in Real Time
- Importance of Access Modifiers
- Difference Between Public and Private Modifiers with Examples
- Different Kind of Exceptions
- Try Catch Mechanism to Handle Exceptions
- Importance of Finally Block in Java
-
Chapter 34 : Core Java Tutorial - Part 3 - Collections API
- What Are Java Collections?
- Implementation of Arrays List
- Examples of ArrayList
- Implementation of Set Interface
- Examples of HashSet Using Iterator
- Implementation of Map Interface
- Difference Between HashMap and HashTable (Interview)
- Practise Exercise: Printing Unique Number - Amazon Interview Question
- Chapter 35 : Cucumber Behaviour-Driven Data - Framework
- Chapter 36 : Bonus Lectures - Defect Tracking Tool
Product information
- Title: Selenium WebDriver with Java - Basics to Advanced and Frameworks
- Author(s):
- Release date: January 2023
- Publisher(s): Packt Publishing
- ISBN: 9781789132908
You might also like
book
Hands-On Selenium WebDriver with Java
Get started with Selenium WebDriver, the open source library for automating tests to ensure your web …
video
Learn Selenium WebDriver with Java
This course is designed to guide you through Selenium WebDriver and Java, right from the basic …
video
The Complete Java Developer Course: From Beginner to Master
Be it websites, mobile apps, or desktop software, Java remains one of the most popular programming …
video
Learn Spring Boot 3 in 100 Steps - Beginner to Expert
Spring Boot is a powerful framework that simplifies the development of REST services. It enables developers …