Video description
Learn how to solve real-world Selenium challenges with the help of more than hundred examples
About This Video
- Master Selenium WebDriver by understanding Java basics
- Explore mobile testing, database testing, and performance testing with Selenium
- Gain the confidence to lead an entire Selenium automation project
In Detail
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 tricks and tips 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.
Who this book is for
If you’re 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 of programming or Java coding is needed to get started with this course.
Publisher resources
Table of contents
- Chapter 1 : Selenium Introduction
- Chapter 2 : Complete Installation Guide for Java and Selenium Learning
- Chapter 3 : Brush-Up Java Concepts for Selenium Automation
- Chapter 4 : Configuring Selenium and Running Tests on All Browsers
-
Chapter 5 : Locator Techniques and Tools used to Identify Objects
- Importance of Locator Identifiers in Selenium
- Identifying Locators (id.Name.Linktext) with Developer Tools -1
- Identifying Locators (ClassName) with Developer Tools -2
- Identifying XPath in Chrome and Firefox Browsers
- Identifying Cascading Style Sheets (CSS) Locators with Chrome and Firefox Add-ons
- Validating the Accuracy of XPath and Cascading Style Sheets (CSS) from Browser Add-ons
- Practice Exercises on Locators Learnt from the Previous Lectures
- Generating Customized XPath from HTML Attributes
- Generating Customized Cascading Style Sheets (CSS) from HTML Attributes
- Practice Exercises with XPath and Cascading Style Sheets (CSS) with Regular Expressions
- Web Applications to Practice Selenium Automation
-
Chapter 6 : Fifteen Popular Interview Questions on Selenium Basics
- Identifying XPath with Parent Child Traverse Relationship
- Surprise! Using ChroPath Plug-in to get XPath and Cascading Style Sheets (CSS)
- Difference Between Relative and Absolute XPath
- How to Identify Siblings and Traverse Back to Parent Nodes with XPATH?
- Identifying Objects with Text using XPATH Locators
- Cascading Style Sheets (CSS) Selectors Locators
- Tricks and Tips for Identifying Objects - Interview Preparation
-
Chapter 7 : Selenium WebDriver: Techniques to Automate Web Elements
- Handling Static Drop-downs with Select WebDriver Application Programming Interface (API)
- Latest Drop-down Looping User Interface (UI)
- Handling Dynamic Drop-downs Menus with WebDriver Application Programming Interface (API)
- Parent-Child Relationship Locator to Identify the Objects Uniquely
- Handling AutoSuggestive Drop-downs Using Selenium
- Handling Check Box and Getting their Size with Selenium
- Importance of Assertions in Automation Testing and How to Use Them
- Handling Calendar User Interface (UI) in Travel Websites Using Selenium
- Validating if User Interface (UI) Elements Are Disabled or Enabled with Attributes
- End-to- End Automation Using All User Interface (UI) Elements with Selenium
- Handling Java Alerts Using the Selenium WebDriver
-
Chapter 8 : Deep Dive into Functional Testing with Selenium
- Code Formatting and Debugging
- Problem - Adding Items into Cart for Ecommerce Application
- Sending Array of Products to Cart for Checkout
- Building Programming Logic to Process Items in an Array for Cart
- Debugging the Code to Understand How the Flow is Built
- Fixing the Problem of Inconsistent Locators and Making Tests Clean
-
Chapter 9 : 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 on Implicit Wait
- Practical Examples on Explicit Waits
- What is Fluent Wait? What are its Advantages?
- Building Customized Methods using Fluent Wait
- Practice Example on Fluent Wait
- Chapter 10 : Techniques to Automate Ajax Calls, Child Windows, and iFrames
-
Chapter 11 : Real- Time Exercises (End-to-End Programming)
- Practice Exercise - Print the Links Count in the Page
- Limiting WebDriver Scope
- How to Open the Links in Separate Tabs - Optimized Solution
- Getting the Titles of Child Tabs with Optimized While Loop
- Handling the Calendar User Interface (UI) in Travel Websites
- Generic Method to Handle Calendar with Month and Date
- Solved Example on Calendar Methods
- Chapter 12 : Practical Problems and Methods to Handle them with Selenium
-
Chapter 13 : Miscellaneous Topics in Selenium WebDriver
- Handling HTTPS Certifications
- 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
- Iterating Over All Links in the Page to Validate Broken Links Mechanism
- Importance of Soft Assertions in Selenium WebDriver
-
Chapter 14 : Selenium Java Streams - Automate Sort, Pagination, and Filtering the Web Tales
- Important Note - Plan of Learning this Section
- Learning Everything About JavaStreams
- Performing Web Table Sorting using Selenium JavaStreams
- Building Custom Selenium Methods using Streams Mapper
- Automating Pagination Scenarios to Search Data Using the Do While Loop
- Filter the Web Table using Selenium JavaStreams
- Chapter 15 : Cross Browser Testing with Selenium Grid
- Chapter 16 : Selenium 4.0 - Latest Features
- Chapter 17 : Framework Learning Plan
-
Chapter 18 : Framework Part 1 - TestNG
- Why TestNG and its Advantages
- Running Test Cases in TestNG without Java Compiler
- Importance of Extensible Markup Language (XML) File in TestNG Configuration
- Prioritizing the Test Cases with TestNG
- Include and Exclude Mechanism to Control Test Cases
- Executing the Test Cases at Package Level with Regex
- TestNG Annotations Part - 1
- TestNG Annotations Part - 2
- Using Groups Functionality in TestNG
- Annotations Helper Attributes with Examples
- Parameterizing from TestNG XML File
- DataProvider Annotation - Parameterizing Test Cases - 1
- DataProvider Annotation -Parameterizing Test Cases - 2
- Listeners Interface in TestNG Framework
- Running Tests in Parallel and Generating Reports
- Chapter 19 : Framework Part 2 - Global Environment Variables Setup and Reusable Components
-
Chapter 20 : Framework Part 3 - Maven Build Management Tool
- Importance of Maven in Framework Development
- Installing and Configuring Maven
- Creating Maven Project and Understanding its Terminologies
- Understanding the POM.xml File and its Dependencies
- Importance of Surefire Plug-in in Executing Tests
- Integrating TestNG with Maven
- Switching the Tests with Maven Profiling
- Chapter 21 : Framework Part 4 - Jenkins (Continuous Integration Tool)
- Chapter 22 : Framework Part 5 - TestNG Reports for Jenkin Jobs
- Chapter 23 : Extent Reporting Basics for Test Execution Results in Framework
-
Chapter 24 : Framework Part 6: Data Driven Testing Utilities
- What is Apache POI API and Download Instructions?
- Strategy to Access Excel Data
- Getting Rows and its Cells from a Sheet
- Retrieving Data from Excel Based on Condition
- Practice Exercise - Excel Driven Testing - 1
- Practice Exercise - Excel Driven Testing - 2
- Practice Exercise - Excel Driven Testing - 3
-
Chapter 25 : Framework Part 7: Logging Framework - log4j
- What is log4j and its Usage in Selenium Framework
- Importing log4j into Eclipse Project
- Importance of log4j Extensible Markup Language (XML) File
- Understanding the Extensible Markup Language (XML) File to Control Logging in Test Case
- Test Case Logging with log4j Example - 1
- Test Case Logging with log4j Example - 2
- Chapter 26 : Framework Part 8 - Page Object Pattern and Page Factory
-
Chapter 27 : Framework Building from Scratch - Real Time Project
- End-to-End Framework Agenda - Must Watch
- Creating Maven Test Project and Configuring Framework Dependencies
- Designing Base Test with Global Variables Setup
- Implementing Page Object Mechanism to Drive Tests
- Creating Multiple Tests with Centralized Data
- Parameterizing the Tests with Multiple Data using TestNG
- Asserting the Test Cases with Validations
- Adding Tests to Suite in Framework Guidelines
- Converting Framework into TestNG and Configuring TestNG Extended Module (XM) File
- Configuring Tests with Setup and Teardown in TestNG Framework
- Integrating log4j Logging Application Programming Interface (API) into Framework
- Fixing the Framework Issues by Tweaking TestNG Extensible Markup Language (XML) File
- Screenshots on Failure - TestNG Listeners
- How to Send Driver Object of Test Instance to Listener on Test Failure?
- Extent Reports after Generation on Test Execution
- How to Make Framework Thread Safe for Parallel Execution?
- Optimizing the Page Objects Feature with the Smart Way of Objects Creation
- Integrating Project to Jenkins Continuous Integration (CI) Tool
-
Chapter 28 : Selenium Framework Optimization and Interview Questions
- How to Parameterize Jenkin Build with the Multi Options Profile?
- Live Example in Parameterizing Job with Multiple Browser Options
- Coding Standards to Achieve Encapsulation in Framework
- Removing Hard Coded Paths in Framework by Generating Paths Dynamically
- How to Execute Tests in Chrome Headless Mode?
- Where are Inheritance, Interfaces, and Statics used in Framework?
- Best Approach on How to Consolidate Test Cases into Different Classes
- Demonstrating Clubbing Tests into Classes in Framework
-
Chapter 29 : Database Connection to Selenium Test Cases
- Steps to Connect a Database to Selenium Test Cases
- MySQL Download Instructions
- MySQL Server Connection Procedure
- Creating a Database in MySQL Server
- Creating Tables in Databases
- Inserting Records into a Table
- Integrating a Database with the Java Database Connectivity (JDBC) API
- Steps to Connect Database Information to Selenium - 1
- Steps to Connect Database Information to Selenium - 2
-
Chapter 30 : Java Object Oriented Programming System (OOPS) Basic 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 Interview Point of View
- String Class and their Methods
- Practice Exercise Reverse String Logic-Palindrome
- If-Else Condition Usage in Java
- How FOR Loops Work - with Example
- When Should you use the While Loop?
- How Does the While Loop Work?
- Explanation on Nested FOR Loops
- Practice Exercise on Loops -1 (Printing Pyramid Triangle)
- Practice Exercise – 2 - Yahoo Question (Inverted Sequence Pyramid Logic Program)
- What is an Interface?
- How can Java Classes Take Advantage of Interfaces?
- What are Abstract Classes and how Different are they from Interfaces?
- Using Inheritance in Java
- Practical Examples on Types of Inheritances
- Explaining Function Overloading in Java with an 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
- Practice exercise - Print the Smallest Number in a 3*3 Matrix
- Practice Exercise - Cisco Interview Question on Arrays
-
Chapter 31 : Core Java Tutorial - Part 2
- Date Class Concepts
- Working with Calendar Objects in Java
- How the 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 Code in Java
- Final Keyword in Java
- Packages and their Usage in Object Oriented Programming System (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 32 : Core Java Tutorial - Part 3 - Collections Application Programming Interface (API)
-
Chapter 33 : Cucumber Behavior Driven Data – Framework
- Cucumber Framework Design Plan
- Template for Writing Business Requirements
- Quality Assurance (QA) Role in Behavior Driven Development (BDD)
- Template for Writing Test Cases for Business Scenarios
- Advantages of Behavior Driven Development (BDD) and why it is Getting Popular?
- Cucumber Project Template
- Understanding Cucumber Dependencies
- Understanding Cucumber Framework Terminologies
- Mapping Step Definition to Feature File
- TidyGherkin Plug-in to Generate Step Definitions
- Running Tests with TestRunner
- Importance of Regular Expressions in Feature Files
- Reusing Functions with Variable Data
- Adding Cucumber Knowledge to an Existing Framework
- Create Selenium Feature Files with Step Definition Implementation
- Adding Page Objects and Handling Dynamic Pop-ups on the Home Page
- Parameterizing Selenium Tests with Cucumber
- Integrating Cucumber with TestNG and Maven
-
Chapter 34 : GIT - Version Control Tutorial
- Introduction to GIT
- Importance of GitHub and its Uses
- Creating GIT Configuration and Repositories
- How to Push Code to a Remote Repository?
- Understanding Staging and Commit in GIT
- Adding 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 35 : Cloud Testing Basics and Vendors that Support them
-
Chapter 36 : File Uploading (AUTO IT) and Downloading with Selenium
- Handling Window Authentication Pop-ups with Selenium
- Examples on Handling Pop-ups with Modified WebDriver Uniform Resource Locator (URL)
- What is AutoIT? Installation Details
- Inspecting the Window Objects and Converting into AutoIT Code
- End-to-End Example on Uploading Files with AutoIT Selenium
- Steps to Complete the Flow to Download a File from an Application with Selenium
- Chrome Driver Options to Configure the Download Path of a Browser
- Chapter 37 : End-to-End Testing Activities - Defect Tracking Tool
Product information
- Title: Selenium WebDriver with Java - Basics to Advanced and Frameworks
- Author(s):
- Release date: November 2020
- Publisher(s): Packt Publishing
- ISBN: 9781789132908
You might also like
book
Java Coding Problems
Develop your coding skills by exploring Java concepts and techniques such as Strings, Objects and Types, …
book
40 Algorithms Every Programmer Should Know
Learn algorithms for solving classic computer science problems with this concise guide covering everything from fundamental …
video
Learn Automation Testing with Java and Selenium Webdriver
Learn to write great automation tests with Selenium WebDriver and Java. Start building automation testing frameworks! …
book
Software Engineering at Google
Today, software engineers need to know not only how to program effectively but also how to …