O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learn Automation Testing with Java and Selenium Webdriver

Video Description

Learn to write great automation tests with Selenium WebDriver and Java. Start building automation testing frameworks!

About This Video

  • You will Learn Automation Testing the MODERN WAY - Step By Step - With 200 HANDS-ON Code Examples
  • You will acquire ALL THE SKILLS you need to demonstrate EXPERTISE with Selenium and Java in your job interviews

In Detail

Writing your first automation test with Java and Selenium WebDriver is a lot of fun. Java is one of the most popular programming languages. Java offers both object-oriented and functional programming features. Selenium can be used for screen scraping and to automate repeated tasks on browsers. In this course, you will learn programming with Java and automation testing with Selenium. In no more than 350 steps, we explore the most important Java programming features and Selenium Automation Testing scenarios:

  • Exporting Automation Tests and setting up new a Maven Project for JUnit and TestNG, TestNG vs Junit, TestNG Advanced Features - XML Suite, test reports, running tests with parameters defined in XML and running tests in parallel
  • Advanced Selenium Automation Testing scenarios - Playing with Windows, Modal Windows (Sleep, Implicit Wait, and Explicit Waits), alert boxes, window handles, and new browser window launches, frames, taking screenshots, executing JavaScript code, and the Actions Interface to control mouse and keyboard
  • Set up Automation Testing Frameworks – Tables, important interfaces – WebDriver, Introduction to cross-browser automation testing, headless testing, and setting up a basic cross-browser Automation Testing framework
  • Writing Data-Driven Testing with Data Providers, CSV, and Excel Spreadsheets, Implementing Page Object Model for a complex test scenario, scaling up with Selenium Standalone and Grid
  • Generics - Why do we need Generics? Restrictions with extends and Generic methods, wildcards - upper bound and lower bound, introduction to exception handling - your thought processes during exception handling. try, catch, and finally. Exception hierarchy - checked exceptions vs. unchecked exceptions. Throwing an exception. Creating and throwing a custom exception - CurrenciesDoNotMatchException. Try with resources - a new feature in Java 7.

You will be using Eclipse and Brackets as an IDE. You will be using Maven, npm (Dependency Management), TestNG (XML Test Suite, parallel, and multiple browsers), JUnit, Selenium IDE, Katalon Studio, Selenium Standalone, and Selenium Grid. We will help you set up each one of these.

All the code and supporting files for this course are available at: https://github.com/PacktPublishing/Learn-Automation-Testing-with-Java-and-Selenium-Webdriver

Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Chapter 1 : Introduction
    1. Introduction to the Course 00:02:48
    2. How to Make Best use of the Course Guide? 00:01:30
  2. Chapter 2 : Installing Java 11
    1. Step 01 - Installing JDK - with installation guide PDF 00:03:29
    2. Step 02 - Verifying Java and JShell 00:03:11
    3. Step 03 - Troubleshooting Java installation 00:02:06
    4. Step 04 - Setting Path environment variable in Windows 00:06:52
  3. Chapter 3 : Introduction to Java Programming with JShell using Multiplication Table
    1. Step 00 - Getting Started with Programming 00:02:13
    2. Step 01 - Introduction to Multiplication Table challenge 00:01:29
    3. Step 02 - Launch JShell 00:05:19
    4. Step 03 - Break Down Multiplication Table Challenge 00:01:55
    5. Step 04 - Java Expression - An Introduction 00:07:42
    6. Step 05 - Java Expression – Exercises 00:01:39
    7. Step 06 - Java Expression – Puzzles 00:08:14
    8. Step 07 - Printing output to console with Java 00:10:54
    9. Step 08 - Printing output to console with Java - Exercise Statements 00:01:40
    10. Step 09 - Printing output to console with Java - Exercise Solutions 00:03:58
    11. Step 10 - Printing output to console with Java – Puzzles 00:08:01
    12. JShell Tip - Multiple Lines of Code 00:02:13
    13. Step 11 - Advanced Printing output to console with Java 00:06:41
    14. Step 12 - Advanced Printing output to console with Java – Exercises 00:04:11
    15. Step 13 - Introduction to Variables in Java 00:08:28
    16. Step 14 - Introduction to Variables in Java - Exercises and Puzzles 00:06:27
    17. Step 15 - 4 Important Things to Know about Variables in Java 00:01:02
    18. Step 16 - How are variables stored in memory? 00:04:33
    19. Step 17 - How to name a variable? 00:04:06
    20. Step 18 - Understanding Primitive Variable Types in Java 00:06:55
    21. Step 19 - Understanding Primitive Variable Types in Java - Choosing a Type 00:06:14
    22. Java Tip - String Concatenation 00:03:05
    23. Step 20 - Java Assignment Operator 00:04:20
    24. Step 21 - Java Assignment Operator - Puzzles on Increment, Decrement and Compound 00:03:21
    25. Step 22 - Programming Tips: JShell - Shortcuts, Multiple Lines and Variables 00:07:08
    26. Step 23 - Java Conditionals and If Statement – Introduction 00:07:59
    27. Step 24 - Java Conditionals and If Statement - Exercise Statements 00:02:11
    28. Step 25 - Java Conditionals and If Statement - Exercise Solutions 00:06:31
    29. Step 26 - Java Conditionals and If Statement – Puzzles 00:06:38
    30. Step 27 - Java For Loop to Print Multiplication Table – Introduction 00:09:04
    31. Step 28 - Java For Loop to Print Multiplication Table - Exercise Statements 00:01:38
    32. Step 29 - Java For Loop to Print Multiplication Table - Exercise Solutions 00:11:09
    33. Step 30 - Java For Loop to Print Multiplication Table – Puzzles 00:06:33
    34. Step 31 - Getting Started with Programming - Revise all Terminology 00:06:28
  4. Chapter 4 : Introduction to Method with Multiplication Table
    1. Step 00 - Section 02 - Methods - An Introduction 00:01:07
    2. Step 01 - Your First Java Method - Hello World Twice and Exercise Statements 00:09:22
    3. Step 02 - Introduction to Java Methods - Exercises and Puzzles 00:06:19
    4. Step 03 - Programming Tip - Editing Methods with JShell 00:05:15
    5. Step 04 - Introduction to Java Methods - Arguments and Parameters 00:10:36
    6. Step 05 - Introduction to Java Method Arguments – Exercises 00:05:19
    7. Step 06 - Introduction to Java Method Arguments - Puzzles and Tips 00:04:10
    8. Step 07 - Getting back to Multiplication Table - Creating a method 00:05:48
    9. Step 08 - Print Multiplication Table with a Parameter and Method Overloading 00:04:12
    10. Step 09 - Passing Multiple Parameters to a Java Method 00:05:14
    11. Step 10 - Returning from a Java Method - An Introduction 00:05:48
    12. Step 11 - Returning from a Java Method – Exercises 00:05:43
    13. Step 12 - Methods - Section Review 00:02:26
  5. Chapter 5 : Introduction to Java Platform
    1. Step 00 - Section 03 - Overview of Java Platform - Section Overview 00:01:08
    2. Step 01 - Overview of Java Platform - An Introduction - java, javac, bytecode 00:05:13
    3. Step 02 - Java Class and Object - First Look 00:05:38
    4. Step 03 - Create a method in a Java class 00:06:21
    5. Step 04 - Create and Compile Planet.java class 00:06:05
    6. Step 05 - Run Planet class with Java - Using a main method 00:06:17
    7. Step 06 - Play and Learn with Planet Class 00:05:19
    8. Step 07 - JDK vs JRE vs JVM 00:05:57
  6. Chapter 6 : Introduction to Eclipse - First Java Project
    1. Step 00 - Installing Eclipse 00:02:47
    2. Step 01 - Creating a New Java Project with Eclipse 00:05:13
    3. Step 02 - Your first Java class with Eclipse 00:05:27
    4. Step 03 - Writing Multiplication Table Java Program with Eclipse 00:06:10
    5. Step 04 - Adding more methods for Multiplication Table Program 00:03:52
    6. Eclipse Tip - Save Actions 00:02:41
    7. Step 05 - Programming Tip 1: Refactoring with Eclipse 00:04:38
    8. Step 06 - Programming Tip 2: Debugging with Eclipse 00:10:05
    9. Step 07 - Programming Tip 3: Eclipse vs JShell - How to choose? 00:05:39
  7. Chapter 7 : Introduction to Object Oriented Programming
    1. Step 00 - Introduction to Object Oriented Programming - Section Overview 00:01:01
    2. Step 01 - Introduction to Object Oriented Programming – Basics 00:05:25
    3. Step 02 - Introduction to Object Oriented Programming - Terminology - Class Object, 00:04:56
    4. Step 03 - Introduction to Object Oriented Programming - Exercise – Online Shopping 00:03:08
    5. Step 04 - Create Motor Bike Java Class and a couple of objects 00:06:30
    6. Step 05 - Exercise Solutions - Book class and 3 instances 00:02:02
    7. Step 06 - Introducing State of an object with speed variable 00:05:54
    8. Step 07 - Understanding basics of Encapsulation with Setter methods 00:07:05
    9. Step 08 - Exercises and Tips - Getters and Generating Getters and Setters with E 00:05:40
    10. Step 09 - Puzzles on this and initialization of member variables 00:07:21
    11. Step 10 - First Advantage of Encapsulation 00:01:53
    12. Step 11 - Introduction to Encapsulation - Level 2 00:06:07
    13. Step 12 - Encapsulation Exercises - Better Validation and Book class 00:03:53
    14. Step 13 - Introduction to Abstraction 00:03:05
    15. Step 14 - Introduction to Java Constructors 00:04:26
    16. Step 15 - Introduction to Java Constructors - Exercises and Puzzles 00:06:47
    17. Step 16 - Introduction to Object Oriented Programming – Conclusion 00:01:13
  8. Chapter 8 : Primitive Data Types and Alternatives
    1. Step 00 - Primitive Data Types in Depth - Section Overview 00:01:08
    2. Step 01 - Basics about Java Integer Data Types - Casting, Operators and More 00:07:30
    3. Step 02 - Java Integer Data Types - Puzzles - Octal, Hexadecimal, Post and Pre integer 00:09:50
    4. Step 03 - Java Integer Data Types - Exercises - BiNumber - add, multiply and double 00:09:03
    5. Step 04 - Java Floating Point Data Types - Casting, Conversion and Accuracy 00:04:35
    6. Step 05 - Introduction to BigDecimal Java Class 00:06:58
    7. Step 06 - BigDecimal Puzzles - Adding Integers 00:03:13
    8. Step 07 - BigDecimal Exercises - Simple Interest Calculation 00:11:34
    9. Step 08 - Java Boolean Data Type - Relational and Logical Operators 00:10:38
    10. Step 09 - Java Boolean Data Type - Puzzles - Short Circuit Operators 00:05:02
    11. Step 10 - Java Character Data Type char - Representation and Conversion 00:06:02
    12. Step 11 - Java char Data Type - Exercises 1 – isVowel 00:07:47
    13. Step 12 - Java char Data Type - Exercises 2 – isDigit 00:08:03
    14. Step 13 - Java char Data Type - Exercises 3 - isConsonant, List Upper Case and L 00:09:00
    15. Step 14 - Primitive Data Types in Depth – Conclusion 00:01:23
  9. Chapter 9 : Conditionals
    1. Step 00 - Conditionals with Java - Section Overview 00:01:23
    2. Step 01 - Introduction to If Else Statement 00:04:52
    3. Step 02 - Introduction to Nested If Else 00:04:48
    4. Step 03 - If Else Statement – Puzzles 00:08:02
    5. Step 04 - If Else Problem - How to get User Input in Java? 00:06:45
    6. Step 05 - If Else Problem - How to get number 2 and choice from user? 00:03:06
    7. Step 06 - If Else Problem - Implementing with Nested If Else 00:03:37
    8. Programming Tip - CodingBat dot Com 00:01:35
    9. Step 07 - Java Switch Statement - An introduction 00:09:32
    10. Step 08 - Java Switch Statement - Puzzles - Default, Break and Fall Through 00:07:01
    11. Step 09 - Java Switch Statement - Exercises - isWeekDay, nameOfMonth, nameOfDay 00:13:02
    12. Eclipse Tip - Ctrl or Cmd + 1 00:05:06
    13. Step 10 - Java Ternary Operation - An Introduction 00:06:22
    14. Step 11 - Conditionals with Java – Conclusion 00:00:32
  10. Chapter 10 : Loops
    1. Step 00 - Java Loops - Section Introduction 00:00:58
    2. Step 01 - Java For Loop - Syntax and Puzzles 00:06:56
    3. Step 02 - Java For Loop - Exercises Overview and First Exercise Prime Numbers 00:12:38
    4. Step 03 - Java For Loop - Exercise - Sum Upto N Numbers and Sum of Divisors 00:06:54
    5. Step 04 - Java For Loop - Exercise - Print a Number Triangle 00:05:19
    6. Eclipse Tip - Templates - sysout, main, fore, ifelse 00:02:23
    7. Step 05 - While Loop in Java - An Introduction 00:05:05
    8. Step 06 - While Loop - Exericises - Cubes and Squares upto limit 00:09:04
    9. Step 07 - Do While Loop in Java - An Introduction 00:04:10
    10. Step 08 - Do While Loop in Java - An Example - Cube while user enters positive n 00:08:27
    11. Step 09 - Introduction to Break and Continue 00:04:40
    12. Step 10 - Selecting Loop in Java - For vs While vs Do While 00:03:41
  11. Chapter 11 : Reference Types
    1. Step 00 - Java Reference Types - Section Introduction 00:01:31
    2. Step 01 - Reference Types - How are they stored in Memory? 00:07:02
    3. Step 02 - Java Reference Types – Puzzles 00:08:53
    4. Step 03 - String class - Introduction and Exercise - Print each word and char on 00:08:38
    5. Step 04 - String class - Exercise Solution and Some More Important Methods 00:08:39
    6. Step 05 - Understanding String is Immutable and String Concat, Upper Case, Lower 00:05:10
    7. Step 06 - String Concatenation and Join, Replace Methods 00:07:34
    8. Step 07 - Java String Alternatives - StringBuffer and StringBuilder 00:04:54
    9. Step 08 - Java Wrapper Classes - An Introduction - Why and What? 00:02:46
    10. Step 09 - Java Wrapper Classes - Creation - Constructor and valueOf 00:05:22
    11. Step 10 - Java Wrapper Classes - Auto Boxing and a Few Wrapper Constants – SIZE 00:03:27
    12. Step 11 - Java Dates - Introduction to LocalDate, LocalTime and LocalDateTime 00:04:09
    13. Step 12 - Java Dates - Exploring LocalDate - Creation and Methods to play with D 00:07:13
    14. Step 13 - Java Dates - Exploring LocalDate - Comparing Dates and Creating Specif 00:05:20
    15. Eclipse Tip - Exploring Java API 00:03:45
    16. Step 14 - Java Reference Types – Conclusion 00:01:45
  12. Chapter 12 : Arrays and ArrayLists
    1. Step 00 - Introduction to Array and ArrayList - Section Introduction with a Challenge 00:01:19
    2. Step 01 - Understanding the need and Basics about an Array 00:05:26
    3. Step 02 - Java Arrays - Creating and Accessing Values – Introduction 00:06:04
    4. Step 03 - Java Arrays - Puzzles - Arrays of Objects, Primitive Data Types, toStr 00:08:11
    5. Step 04 - Java Arrays - Compare, Sort and Fill 00:05:11
    6. Step 05 - Java Arrays - Exercise - Create Student Class - Part 1 - Total and Ave 00:06:17
    7. Step 06 - Java Arrays - Exercise - Create Student Class - Part 2 - Maximum and Minimum 00:13:06
    8. Step 07 - Introduction to Variable Arguments – Need 00:04:36
    9. Step 08 - Introduction to Variable Arguments – Basics 00:05:04
    10. Step 09 - Introduction to Variable Arguments - Enhancing Student Class 00:01:59
    11. Step 10 - Java Arrays - Using Person Objects and String Elements with Exercises 00:03:35
    12. Eclipse Tip - Code Generation 00:02:41
    13. Step 11 - Java String Arrays - Exercise Solutions - Print Day of Week with Most 00:04:56
    14. Step 12 - Adding and Removing Marks - Problem with Arrays 00:03:21
    15. Step 13 - First Look at ArrayList - An Introduction 00:04:37
    16. Step 14 - First Look at ArrayList - Refactoring Student Class to use ArrayList 00:05:57
    17. Step 15 - First Look at ArrayList - Enhancing Student Class with Add and Remove 00:02:30
    18. Step 16 - Introduction to Array and ArrayList – Conclusion 00:01:09
  13. Chapter 13 : Object Oriented Programming Again
    1. Step 00 - Object Oriented Programming - Level 2 - Section Introduction 00:01:55
    2. Step 01 - Basics of Designing a Class - Class, Object, State and Behavior 00:03:49
    3. Step 02 - OOPS Example - Fan Class - Deciding State and Constructors 00:10:06
    4. Step 03 - OOPS Example - Fan Class - Deciding Behavior with Methods 00:06:28
    5. Step 04 - OOPS Exercise - Rectangle Class 00:06:27
    6. Step 05 - Understanding Object Composition with Customer Address Example 00:10:50
    7. Step 06 - Understanding Object Composition - An Exercise - Books and Reviews 00:02:48
    8. Step 07 - Understanding Inheritance - Why do we need it? 00:07:52
    9. Step 08 - Object is at top of Inheritance Hierarchy 00:04:06
    10. Step 09 - Inheritance and Overriding - with toString() method 00:04:55
    11. Step 10 - Java Inheritance - Exercise - Student and Employee Classes 00:06:53
    12. Step 11 - Java Inheritance - Default Constructors and super() method call 00:09:18
    13. Step 12 - Java Inheritance - Puzzles - Multiple Inheritance, Reference Variables 00:06:22
    14. Step 13 - Java Abstract Class – Introduction 00:06:10
    15. Step 14 - Java Abstract Class - First Example - Creating Recipes with Template M 00:07:37
    16. Step 15 - Java Abstract Class – Puzzles 00:03:41
    17. Step 16 - Java Interface - Example 1 - Gaming Console - How to think about Intef 00:08:30
    18. Step 17 - Java Interface - Example 2 - Complex Algorithm - API defined by extern 00:05:58
    19. Step 18 - Java Interface - Puzzles - Unimplemented methods, Abstract Classes, Values 00:09:42
    20. Step 19 - Java Interface vs Abstract Class - A Comparison 00:03:49
    21. Step 20 - Java Interface Flyable and Abstract Class Animal - An Exercise 00:05:26
    22. Programming Tip - 97 Things every programming should know 00:02:22
    23. Step 21 - Polymorphism - An introduction 00:06:11
  14. Chapter 14 : Collections
    1. Step 01 - Java Collections - Section Overview with Need for Collections 00:03:17
    2. Step 02 - List Interface - Introduction - Position is King 00:07:05
    3. Step 03 - List Inteface - Immutability and Introduction of Implementations – Array 00:04:37
    4. Step 04 - List Inteface Implementations - ArrayList vs LinkedList 00:05:32
    5. Programming Tip - Teach Yourselves programming in 10 Years 00:01:45
    6. Step 05 - List Inteface Implementations - ArrayList vs Vector 00:03:43
    7. Step 06 - List Inteface - Methods to add, remove and change elements and lists 00:06:36
    8. Step 07 - List and ArrayList - Iterating around elements 00:02:59
    9. Step 08 - List and ArrayList - Choosing iteration approach for printing and delete 00:06:56
    10. Step 09 - List and ArrayList - Puzzles - Type Safety and Removing Integers 00:07:24
    11. Step 10 - List and ArrayList - Sorting - Introduction to Collections sort static 00:08:57
    12. Step 11 - List and ArrayList - Sorting - Implementing Comparable Inteface 00:03:26
    13. Step 12 - List and ArrayList - Sorting - Providing Flexibility by implementing C 00:06:07
    14. Step 13 - List and ArrayList - A Summary 00:02:23
    15. Step 14 - Set Interface - Introduction - No Duplication 00:04:17
    16. Step 15 - Understanding Data Structures - Array, LinkedList and Hashing 00:06:17
    17. Step 16 - Understanding Data Structures - Tree - Sorted Order 00:03:26
    18. Step 17 - Set Interface - Hands on - HashSet, LinkedHashSet and TreeSet 00:04:58
    19. Step 18 - Set Interface - Exercise - Find Unique Characters in a List 00:04:34
    20. Step 19 - TreeSet - Methods from NavigableSet - floor,lower,upper, subSet, head 00:05:29
    21. Step 20 - Queue Interface - Process Elements in Order 00:01:39
    22. Step 21 - Introduction to PriorityQueue - Basic Methods and Customized Priority 00:06:32
    23. Step 22 - Map Interface - An Introduction - Key and Value 00:02:50
    24. Step 23 - Map Interface - Implementations - HashMap, HashTable, LinkedHashMap 00:02:49
    25. Step 24 - Map Interface - Basic Operations 00:05:00
    26. Step 25 - Map Interface - Comparison - HashMap vs LinkedHashMap vs TreeMap 00:04:20
    27. Step 26 - Map Interface - Exercise - Count Occurrences of characters and words 00:08:43
    28. Step 27 - TreeMap - Methods from NavigableMap - floorKey, higherKey, firstEntry 00:04:26
    29. Step 28 - Java Collections - Conclusion with Three Tips 00:03:01
  15. Chapter 15 : Generics
    1. Step 01 - Introduction to Generics - Why do we need Generics? 00:05:44
    2. Step 02 - Implementing Generics for the Custom List 00:05:05
    3. Step 03 - Extending Custom List with a Generic Return Method 00:02:19
    4. Step 04 - Generics Puzzles - Restrictions with extends and Generic Methods 00:07:32
    5. Step 05 - Generics and WildCards - Upper Bound and Lower Bound 00:06:18
  16. Chapter 16 : Introduction to Exception Handling
    1. Step 01 - Introduction to Exception Handling - Your Thought Process during Exception 00:03:13
    2. Step 02 - Basics of Exceptions - NullPointerException and StackTrace 00:06:16
    3. Step 03 - Basics of Handling Exceptions - try and catch 00:05:19
    4. Step 04 - Basics of Handling Exceptions - Exception Hierarchy, Matching and Catch 00:07:15
    5. Step 05 - Basics of Handling Exceptions - Need for finally 00:06:23
    6. Step 06 - Basics of Handling Exceptions – Puzzles 00:04:00
    7. Step 07 - Checked Exceptions vs Unchecked Exceptions - An Example 00:06:20
    8. Step 08 - Hierarchy of Errors and Exceptions - Checked and Runtime 00:04:37
    9. Step 09 - Throwing an Exception - Currencies Do Not Match Runtime Exception 00:06:44
    10. Step 10 - Throwing a Checked Exception - Throws in method signature and handling 00:03:13
    11. Step 11 - Throwing a Custom Exception – CurrenciesDoNotMatchException 00:03:54
    12. Step 12 - Write less code with Try with Resources - New Feature in Java 7 00:03:22
    13. Step 13 - Basics of Handling Exceptions - Puzzles 2 00:02:04
    14. Step 14 - Exception Handling - Conclusion with Best Practices 00:04:31
  17. Chapter 17 : Java Tips
    1. Java Tip 01 - Imports and Static Imports 00:07:11
    2. Java Tip 02 – Blocks 00:02:53
    3. Java Tip 03 - equals method 00:06:09
    4. Java Tip 04 - hashcode method 00:03:13
    5. Java Tip 05 - Class Access Modifiers - public and default 00:04:59
    6. Java Tip 06 - Method Access Modifiers - public, protected, private and default 00:06:54
    7. Java Tip 07 - Final classes and Final methods 00:05:19
    8. Java Tip 08 - Final Variables and Final Arguments 00:03:13
    9. Java Tip 09 - Why do we need static variables? 00:04:48
    10. Java Tip 09 - Why do we need static methods? 00:03:04
    11. Java Tip 10 - Static methods cannot use instance methods or variables 00:02:43
    12. Java Tip 11 - public static final – Constants 00:05:37
  18. Chapter 18 : Getting Started with Selenium, JUnit and TestNG
    1. Step 01 - Getting Started with Selenium - An Overview 00:03:01
    2. Step 02 - Installing Selenium IDE 00:02:34
    3. Step 03 - Recording and Replaying Google Search with Selenium IDE 00:05:14
    4. Step 04 - Exercise - Recording Facebook Login 00:02:19
    5. Step 05 - Advanced Features in Selenium IDE 00:05:25
    6. Step 06 - Alternative for Selenium IDE - Katalon Studio 00:04:05
    7. Step 07 - Installing and Recording Tests with Katalon Studio 00:04:13
    8. Step 08 - Advanced Features of Katalon Studio 00:02:56
    9. Step 09 - Export Unit Tests and Set up new Maven Project 00:05:43
    10. Step 10 - Adding Maven Dependencies for JUnit, Web Driver Manager and Web Driver 00:05:28
    11. Step 11 - Fixing Driver Error with ChromeDriverManager 00:09:33
    12. Step 12 - Exercise - Run Facebook JUnit Test 00:04:02
    13. Step 13 - Running a Selenium Automation Test - What is happening in Background 00:07:30
    14. Step 14 - Install TestNG Plugin and Create New Project with TestNG 00:04:35
    15. Step 15 - Export and Run TestNG Test for Google and Facebook 00:03:27
    16. Step 16 - Comparing TestNG and JUnit Tests and Course Overview 00:05:22
  19. Chapter 19 : TestNG vs Junit
    1. Step 01 - Introduction to TestNG vs Junit 00:05:26
    2. Step 02 - Creating a Unit Test for SimpleClass 00:05:36
    3. Step 03 - Adding Asserts to Unit Test 00:04:59
    4. Step 04 - Exercise - Write more unit test Scenarios 00:02:36
    5. Step 05 - Writing Selenium JUnit Automation Test for Google - Part 1 00:10:07
    6. Step 06 - Writing Selenium JUnit Automation Test for Google - Part 2 00:06:46
    7. Step 07 - Exploring WebDriver Interface 00:07:20
    8. Step 08 - Writing Selenium JUnit Automation Test for Google - Part 3 00:05:32
    9. Step 09 - Reducing Duplication with @Before and @After JUnit Annotations 00:09:49
    10. Step 10 - Time for TestNG - Convert Unit Test to TestNG 00:07:40
    11. Step 11 - TestNG Advanced Features - XML Suite and Test Reports 00:06:41
    12. Step 12 - TestNG Advanced Features - Running Tests with Parameters defined in XM 00:07:21
    13. Step 13 - TestNG Advanced Features - Running Tests in Parallel 00:03:10
  20. Chapter 20 : Getting Started with HTML, CSS and XPath
    1. Step 01 - Why should you learn HTML and CSS 00:05:35
    2. Step 02 - How does Web Work - Request, Response, HTML and Browser 00:06:14
    3. Step 03 - Installing Web Editor – Brackets 00:05:59
    4. Step 04 - First HTML File - Tags, HTML, Head and Body 00:08:20
    5. Step 05 - Basic HTML Tags - Paragraph, Div, Heading - H1 to H6 00:11:08
    6. Step 06 - Formatting Tags - Bold, Italicized and Quotes 00:05:36
    7. Step 07 - Using Tags without closing tag - BR and HR 00:04:41
    8. Step 08 - W3C Standards for HTML 00:06:05
    9. Step 09 - Creating List of elements with UL LI and OL 00:05:34
    10. Step 10 - Organizing Your Data Using Tables 00:07:18
    11. Step 11 - Organizing Your Data Using Tables - Exercise Solutions 00:02:50
    12. Step 12 - HTML Attributes and Links - Absolute and Relative 00:09:27
    13. Step 13 - Image Tag in HTML - Local and Internet Links 00:06:00
    14. Step 14 - Introduction to Live Preview Feature in Brackets 00:02:57
    15. Step 15 - Nesting of Divs and Understanding align Attribute 00:07:48
    16. Step 16 - Getting Data from User using Forms - Text and TextArea 00:10:15
    17. Step 17 - Attributes on Text Elements - Size, maxlength, value 00:06:04
    18. Step 18 - Choosing among multiple options using Radio Buttons 00:06:00
    19. Step 19 - Choosing among multiple options using Select Box 00:06:18
    20. Step 20 - Choosing Yes or No with Check Box 00:04:07
    21. Step 21 - Submitting a Form and Understanding GET and POST 00:10:05
    22. Step 22 - Introduction to Frames 00:04:21
    23. Step 23 - Miscellaneous - Password Fields, File Input and Multi Select Box 00:05:38
    24. Step 24 - Introduction to CSS 00:10:16
    25. Step 25 - CSS for input, select and text area 00:04:28
    26. Step 26 - CSS attributes with color, background color 00:05:37
    27. Step 27 - Grouping Form Elements with fieldset 00:06:47
    28. Step 28 - Styling Fieldsets with CSS 00:02:49
    29. Step 29 - Exercise - Styling Lists 00:02:18
    30. Step 30 - Using an External CSS File 00:05:20
    31. Step 31 - Understanding Class in CSS 00:09:03
    32. Step 32 - Making best use of Class in CSS and Multiple Classes 00:06:42
    33. Step 33 - Using id with CSS 00:06:07
    34. Step 34 - Understanding CSS Selectors and Testing using $$ function 00:08:39
    35. Step 35 - CSS Selectors - Identifying Input Element 00:06:55
    36. Step 36 - Introduction to XPath Expressions - Absolute and Relative 00:05:16
    37. Step 37 - Using id and class in XPath Expressions 00:05:45
    38. Step 38 - Using XPath on the Forms Page 00:07:10
    39. Step 39 - A Review of XPat Expressions and CSS Selectors 00:05:44
  21. Chapter 21 : Setting up First Web Application
    1. Step 01 - Setting up First Web Application 00:09:57
    2. Step 02 - Refactoring Shortcuts To Learn 00:04:58
    3. Step 03 - My Favorite Shortcuts - Ctrl + 1 and Ctrl + Space 00:02:46
  22. Chapter 22 : Selenium Automation – Locators
    1. Step 01 - Introduction to the Section 00:01:50
    2. Step 02 - Setting up New Project with TestNG 00:10:05
    3. Step 03 01 - Selenium Locators - Locate Elements By Id and WebElement Interface 00:08:27
    4. Step 03 02 - Exercise - Selenium Locators - Locate Elements By Id 00:02:05
    5. Step 04 - Selenium Locators - Locate Elements By Name - Part 1 00:05:06
    6. Step 05 - Selenium Locators - Locate Elements By Name - Part 2 00:04:16
    7. Step 06 - Abstracting @BeforeTest and @AfterTest to common super class AbstractC 00:03:48
    8. Step 07 - Debugging Errors - Element Not Found Exception 00:04:55
    9. Step 08 - Selenium Locators - Locate Elements By Tag Name 00:05:06
    10. Step 09 - Finding Multiple Matching Elements with findElements 00:07:16
    11. Step 10 - Finding Multiple Matching input Elements 00:03:40
    12. Step 11 - Slowing Tests using sleep for visualizing 00:03:57
    13. Step 12 - Automation Test for Entering UserId and Password and Logging 00:09:51
    14. Step 13 - Exercise - Create Automation Test fo Login Static Page 00:04:27
    15. Step 14 - Selenium Locators - Locate Elements By Link Text 00:04:46
    16. Step 15 - Selenium Locators - Locate Elements By Partial Link Text 00:03:28
    17. Step 16 - Selenium Locators - Locate Elements By Class 00:06:58
    18. Step 17 - Exercise - Selenium Locators - Locate Elements By Class 00:04:42
    19. Step 18 - Selenium Locators - Locate Table Element 00:08:27
    20. Step 19 - Exercise - Selenium Locators - Locate and Click Table Element 00:07:19
    21. Step 20 - Understanding CSS Selectors for Table Data – td 00:07:14
    22. Step 21 - Using XPath Expressions to Locate Table Elements 00:08:08
    23. Step 22 - Choosing among multiple Selenium Locator Options 00:03:03
    24. Step 23 - Improving Performance By Caching WebElements 00:06:23
    25. Step 24 – Conclusion 00:02:27
  23. Chapter 23 : Selenium Automation - Playing with Form Elements
    1. Step 01 - Introduction to Section 00:00:47
    2. Step 02 - Reading and Setting values into Text Elements using Selenium Web Drive 00:06:39
    3. Step 03 - Reading and Setting values into TextArea Elements using Selenium Web Driver 00:05:21
    4. Step 04 - Reading value of CheckBox in Automation Tests 00:05:00
    5. Step 05 - Setting value of CheckBox in Automation Tests 00:04:13
    6. Step 06 - Creating Framework Utility Method for CheckBox in Automation Tests 00:06:46
    7. Step 07 - Reading value of Radio Button in Automation Tests 00:08:56
    8. Step 08 - Setting value of Radio Button in Automation Tests 00:07:46
    9. Step 09 - Reading value of Select Box 00:05:30
    10. Step 10 - Reading value of Multi Select Box 00:02:56
    11. Step 11 - Setting value of Select Box in Automation Test 00:09:02
    12. Step 12 – Conclusion 00:01:14
  24. Chapter 24 : Selenium Automation - Advanced Testing Scenarios
    1. Step 01 - Introduction and Setting up New Project with TestNG and Selenium 00:05:45
    2. Step 02 - Reading CSS Styles 00:07:24
    3. Step 03 - Exercise - Reading CSS Styles 00:04:20
    4. Step 04 - Checking if an element is enabled using isEnabled and Exploring WebDriver 00:09:01
    5. Step 05 - More methods in WebDriver Interface - getAttribute, getLocation 00:12:17
    6. Step 06 - Accessing Window Information using WebDriver manage window method 00:08:34
    7. Step 07 - Window Navigation in Selenium Automation Test with WebDriver navigate 00:04:08
    8. Step 08 - Automation Testing Modal Windows using Sleep 00:09:53
    9. Step 09 - Automation Testing Modal Windows with Implicit Wait 00:07:09
    10. Step 10 01 - Automation Testing Modal Windows with Explicit Waits 00:08:46
    11. Step 10 02 - Automation Testing Modal Windows with Explicit Waits – Events 00:03:25
    12. Step 11 - Testing Alert Boxes with Selenium 00:11:27
    13. Step 12 - Window Handles and Basics of Testing New Browser Window Launch 00:05:56
    14. Step 13 - Finding the Handle of Newly Launched Window 00:06:24
    15. Step 14 - Switching to Newly Launched Window 00:06:39
    16. Step 15 - Writing Automation Tests for Frames 00:07:29
    17. Step 16 - Taking Screenshot during Automation Test 00:06:55
    18. Step 17 - Executing JavaScript Code in Selenium Test 00:07:27
    19. Step 18 - Reviewing WebDriver Interface 00:02:59
    20. Step 20 - Writing Automation Tests for Tables 00:06:48
    21. Step 21 - Designing a basic framework for Tables 00:10:41
    22. Step 22 - Using Actions Interface for Basic Actions with Keyboard and Mouse 00:07:20
    23. Step 23 - More Actions Interface - Drag, Drop, Hold and Release 00:06:37
  25. Chapter 25 : Introduction to Cross Browser Automation Testing
    1. Step 01 - Introduction to Cross Browser Automation Testing 00:01:47
    2. Step 02 - Setting up a New Project and Running Tests in Chrome and Firefox 00:07:35
    3. Step 03 - Running Automation Tests in Other Browser - Safari, Internet Explorer 00:03:57
    4. Step 04 - Running Headless Automation Test with PhanthomJS 00:06:45
    5. Step 05 - Running Automation Tests with Chrome and Firefox Browsers in Headless 00:04:51
    6. Step 06 - Designing Cross Browser Automation Test Framework - Part 1 00:10:21
    7. Step 07 - Designing Cross Browser Automation Test Framework - Part 2 00:05:27
  26. Chapter 26 : Data Driven Testing with Data Providers, CSV and Excel Spreadsheets
    1. Step 01 - Section Overview 00:01:41
    2. Step 02 - Understanding Prerequisites and Login Test Scenario 00:03:12
    3. Step 03 - Setting up a new Project with Hardcoded Login Scenario 00:08:24
    4. Step 04 - Writing Automation Test for Unsuccessful Login 00:03:57
    5. Step 05 - Data Driving Unsuccessful Login Automation Test with DataProvider 00:06:16
    6. Step 06 - Adding Passwords to DataProvider 00:05:50
    7. Step 07 - Adding Expected Test Result to Data Provider 00:07:37
    8. Step 08 - Reading Test Data from CSV File 00:10:32
    9. Step 09 - Connecting Test Data Provider to CSV File 00:10:39
    10. Step 10 - Setting up Excel File with Google Spreadsheets 00:04:06
    11. Step 11 - Reading Test Data from Excel using POI and ExcelReadUtil 00:08:38
    12. Step 12 - Understanding ExcelReadUtil 00:04:42
    13. Step 13 - Connecting Test Data Provider to Excel File 00:04:32
  27. Chapter 27 : Implementing Page Object Model for Update To-do Scenario
    1. Step 01 - Introduction - Objectives and Prerequisites 00:02:13
    2. Step 02 - Setting up a New Project and creating an outline for the Update Todo 00:09:48
    3. Step 03 - Writing First Version of Update Todo Automation Test 00:08:09
    4. Step 04 - First Working Version of Update todo & a Discussion on Maintainability 00:05:05
    5. Step 05 - Introduction to Page Object Model 00:05:51
    6. Step 06 - Creating your first Page Object 00:05:41
    7. Step 07 - Updating the Automation Test to use Login Page Object 00:06:05
    8. Step 08 - Creating Action Methods in Login Page Object 00:03:36
    9. Step 09 - Creating Todo Page Object 00:09:25
    10. Step 10 - Creating List Todo Page Object 00:13:37
  28. Chapter 28 : Scaling up with Selenium Standalone and Grid
    1. Step 01 - Selenium Standalone and Grid - An Introduction 00:02:56
    2. Step 02 - Installation Step I - NPM using Node JS 00:05:35
    3. Step 03 - Installation Steps II and III - Installing and Launching Selenium Stand 00:05:49
    4. Step 04 - Setting up an Automation Project and Creating a Simple Test 00:05:51
    5. Step 05 - Creating a New Test to run using Selenium Standalone Server 00:08:36
    6. Step 06 - Introduction to Selenium Grid - Hub and Nodes 00:03:12
    7. Step 07 - Setting up Selenium Grid with a Hub and 2 Nodes 00:10:08
    8. Step 08 - Setting up different browser capabilities for the Nodes 00:12:05
  29. Chapter 29 : Congratulations
    1. Congratulations 00:01:05
  30. Chapter 30 : Appendix – Maven
    1. Introduction to Maven in 5 Steps 00:03:24
    2. Step 01 - Creating and Importing a Maven Project 00:05:13
    3. Step 02 - Understanding Project Object Model 00:07:39
    4. Step 03 - Maven Build Life Cycle 00:07:16
    5. Step 04 - How Does Maven Work? 00:05:43