Learn Automation Testing with Java and Selenium WebDriver

Video description

Writing your first automation test with Java and Selenium Webdriver is a lot of fun.

Java is one of the most popular programming languages. It offers both object-oriented and functional programming features. Selenium can be used for screen scraping and automating repeated tasks on the browser.

In this course, you will learn programming with Java and automation testing using Selenium. We will take a hands-on approach using Eclipse as an IDE to illustrate more than 200 Java coding exercises, puzzles, and code examples. We will also write more than 100 Selenium automation tests with Java for a wide variety of scenarios.

In more than 350 steps, we will explore the most important Java programming features and Selenium automation testing scenarios. For this course, we will be using Eclipse and Brackets as the IDE, with Maven, npm (Dependency Management), TestNG (XML Test Suite, Parallel, multiple browsers), JUnit, Selenium IDE, Katalon Studio, Selenium Standalone, and Selenium Grid.

By the end of this course, you will have acquired all the skills to demonstrate expertise in automation testing using Selenium and Java in your job interviews.

What You Will Learn

  • Learn to write great automation tests with Selenium and Java
  • Learn to set up new automation test projects with JUNIT and TestNG
  • Learn to create basic automation test frameworks
  • Learn the basics of HTML, CSS, and XPath
  • Learn to use Selenium IDE and Katalon Studio
  • Learn to play with form elements

Audience

This course is for anyone who wants to learn programming, automation testing, and how Selenium WebDriver works. If you are a beginner and want to explore Java further, learn the basics of object-oriented programming with Java, learn the basics of functional programming with Java, and write great automation test for your web applications in Java, this course is for you.

About The Author

In28Minutes Official: Ranga Karanam is a seasoned technologist and architect with over two decades of expertise in programming, design, and architecture. He founded in28Minutes with the goal of helping students master cutting-edge cloud-native technologies such as AWS, Azure, Google Cloud, Docker, and Kubernetes. With 15 years of experience in Java programming and design, Ranga has collaborated with top banking clients worldwide.

His passion for creating hands-on courses with real-world projects motivated him to develop the Step-By-Step series of courses that follow a problem-solution-based approach, with practical and real-world application examples.

Ranga and his team at in28Minutes specialize in Java and related frameworks such as Spring, Spring Boot, Spring MVC, Struts, and Hibernate. They are committed to equipping learners with the skills and knowledge necessary to succeed in today’s rapidly evolving technology landscape.

Table of contents

  1. Chapter 1 : Introduction
    1. Introduction to the Course
    2. How to Make Best Use of the Course Guide?
  2. Chapter 2 : Installing Java 11
    1. Step 01 - Installing JDK - with Installation Guide PDF
    2. Step 02 - Verifying Java and JShell
    3. Step 03 - Troubleshooting Java Installation
    4. Step 04 - Setting Path Environment Variable in Windows
  3. Chapter 3 : Introduction to Java Programming with JShell Using Multiplication Table
    1. Step 00 - Getting Started with Programming
    2. Step 01 - Introduction to Multiplication Table Challenge
    3. Step 02 - Launch JShell
    4. Step 03 - Break Down Multiplication Table Challenge
    5. Step 04 - Java Expression - An Introduction
    6. Step 05 - Java Expression – Exercises
    7. Step 06 - Java Expression – Puzzles
    8. Step 07 - Printing Output to Console with Java
    9. Step 08 - Printing Output to Console with Java - Exercise Statements
    10. Step 09 - Printing Output to Console with Java - Exercise Solutions
    11. Step 10 - Printing Output to Console with Java – Puzzles
    12. JShell Tips - Multiple Lines of Code
    13. Step 11 - Advanced Printing Output to Console with Java
    14. Step 12 - Advanced Printing Output to Console with Java – Exercises
    15. Step 13 - Introduction to Variables in Java
    16. Step 14 - Introduction to Variables in Java - Exercises and Puzzles
    17. Step 15 - Four Important Things to Know about Variables in Java
    18. Step 16 - How are Variables Stored in Memory?
    19. Step 17 - How to Name a Variable
    20. Step 18 - Understanding Primitive Variable Types in Java
    21. Step 19 - Understanding Primitive Variable Types in Java - Choosing a Type
    22. Java Tip - String Concatenation
    23. Step 20 - Java Assignment Operator
    24. Step 21 - Java Assignment Operator - Puzzles on Increment, Decrement, and Compound
    25. Step 22 - Programming Tips: JShell - Shortcuts, Multiple Lines, and Variables
    26. Step 23 - Java Conditionals and If Statement – Introduction
    27. Step 24 - Java Conditionals and If Statement - Exercise Statements
    28. Step 25 - Java Conditionals and If Statement - Exercise Solutions
    29. Step 26 - Java Conditionals and If Statement – Puzzles
    30. Step 27 - Java For Loop to Print Multiplication Table – Introduction
    31. Step 28 - Java For Loop to Print Multiplication Table - Exercise Statements
    32. Step 29 - Java For Loop to Print Multiplication Table - Exercise Solutions
    33. Step 30 - Java For Loop to Print Multiplication Table – Puzzles
    34. Step 31 - Getting Started with Programming - Revise All Terminology
  4. Chapter 4 : Introduction to Method with Multiplication Table
    1. Step 00 - Section 02 - Methods - An Introduction
    2. Step 01 - Your First Java Method - Hello World Twice and Exercise Statements
    3. Step 02 - Introduction to Java Methods - Exercises and Puzzles
    4. Step 03 - Programming Tip - Editing Methods with JShell
    5. Step 04 - Introduction to Java Methods - Arguments and Parameters
    6. Step 05 - Introduction to Java Method Arguments – Exercises
    7. Step 06 - Introduction to Java Method Arguments - Puzzles and Tips
    8. Step 07 - Getting Back to Multiplication Table - Creating a Method
    9. Step 08 - Print Multiplication Table with a Parameter and Method Overloading
    10. Step 09 - Passing Multiple Parameters to a Java Method
    11. Step 10 - Returning from a Java Method - An Introduction
    12. Step 11 - Returning from a Java Method – Exercises
    13. Step 12 - Methods - Section Review
  5. Chapter 5 : Introduction to Java Platform
    1. Step 00 - Section 03 - Overview of Java Platform - Section Overview
    2. Step 01 - Overview of Java Platform - An Introduction - java, javac, bytecode
    3. Step 02 - Java Class and Object - First Look
    4. Step 03 - Create a Method in a Java Class
    5. Step 04 - Create and Compile Planet.java Class
    6. Step 05 - Run Planet Class with Java - Using a Main Method
    7. Step 06 - Play and Learn with Planet Class
    8. Step 07 - JDK Versus JRE Versus JVM
  6. Chapter 6 : Introduction to Eclipse - First Java Project
    1. Step 00 - Installing Eclipse
    2. Step 01 - Creating a New Java Project with Eclipse
    3. Step 02 - Your First Java Class with Eclipse
    4. Step 03 - Writing Multiplication Table Java Program with Eclipse
    5. Step 04 - Adding More Methods for Multiplication Table Program
    6. Eclipse Tip - Save Actions
    7. Step 05 - Programming Tip 1: Refactoring with Eclipse
    8. Step 06 - Programming Tip 2: Debugging with Eclipse
    9. Step 07 - Programming Tip 3: Eclipse Versus JShell - How to Choose?
  7. Chapter 7 : Introduction to Object-Oriented Programming
    1. Step 00 - Introduction to Object-Oriented Programming - Section Overview
    2. Step 01 - Introduction to Object-Oriented Programming – Basics
    3. Step 02 - Introduction to Object-Oriented Programming - Terminology - Class Object
    4. Step 03 - Introduction to Object-Oriented Programming - Exercise – Online Shopping
    5. Step 04 - Create Motor Bike Java Class and a Couple of Objects
    6. Step 05 - Exercise Solutions - Book Class and Three Instances
    7. Step 06 - Introducing the State of an Object with Speed Variable
    8. Step 07 - Understanding Basics of Encapsulation with Setter Methods
    9. Step 08 - Exercises and Tips - Getters and Generating Getters and Setters with E
    10. Step 09 - Puzzles on This and Initialization of Member Variables
    11. Step 10 - First Advantage of Encapsulation
    12. Step 11 - Introduction to Encapsulation - Level 2
    13. Step 12 - Encapsulation Exercises - Better Validation and Book Class
    14. Step 13 - Introduction to Abstraction
    15. Step 14 - Introduction to Java Constructors
    16. Step 15 - Introduction to Java Constructors - Exercises and Puzzles
    17. Step 16 - Introduction to Object-Oriented Programming – Conclusion
  8. Chapter 8 : Primitive Data Types and Alternatives
    1. Step 00 - Primitive Data Types in Depth - Section Overview
    2. Step 01 - Basics about Java Integer Data Types - Casting, Operators, and More
    3. Step 02 - Java Integer Data Types - Puzzles - Octal, Hexadecimal, Post, and Pre Integer
    4. Step 03 - Java Integer Data Types - Exercises - BiNumber - Add, Multiply, And Double
    5. Step 04 - Java Floating Point Data Types - Casting, Conversion, and Accuracy
    6. Step 05 - Introduction to BigDecimal Java Class
    7. Step 06 - BigDecimal Puzzles - Adding Integers
    8. Step 07 - BigDecimal Exercises - Simple Interest Calculation
    9. Step 08 - Java Boolean Data Type - Relational and Logical Operators
    10. Step 09 - Java Boolean Data Type - Puzzles - Short Circuit Operators
    11. Step 10 - Java Character Data Type char - Representation and Conversion
    12. Step 11 - Java char Data Type - Exercise 1 – isVowel
    13. Step 12 - Java char Data Type - Exercise 2 – isDigit
    14. Step 13 - Java char Data Type - Exercise 3 - isConsonant, List Upper Case and L
    15. Step 14 - Primitive Data Types In-Depth – Conclusion
  9. Chapter 9 : Conditionals
    1. Step 00 - Conditionals with Java - Section Overview
    2. Step 01 - Introduction to If Else Statement
    3. Step 02 - Introduction to Nested If Else
    4. Step 03 - If Else Statement – Puzzles
    5. Step 04 - If Else Problem - How to Get User Input in Java
    6. Step 05 - If Else Problem - How to Get Number 2 and Choice from User
    7. Step 06 - If Else Problem - Implementing with Nested If Else
    8. Programming Tip - CodingBat dot Com
    9. Step 07 - Java Switch Statement - An Introduction
    10. Step 08 - Java Switch Statement - Puzzles - Default, Break, and Fall Through
    11. Step 09 - Java Switch Statement - Exercises - isWeekDay, nameOfMonth, nameOfDay
    12. Eclipse Tip - Ctrl or Cmd + 1
    13. Step 10 - Java Ternary Operation - An Introduction
    14. Step 11 - Conditionals with Java – Conclusion
  10. Chapter 10 : Loops
    1. Step 00 - Java Loops - Section Introduction
    2. Step 01 - Java For Loop - Syntax and Puzzles
    3. Step 02 - Java For Loop - Exercises Overview and First Exercise Prime Numbers
    4. Step 03 - Java For Loop - Exercise - Sum Upto N Numbers and Sum of Divisors
    5. Step 04 - Java For Loop - Exercise - Print a Number Triangle
    6. Eclipse Tip - Templates - sysout, main, fore, ifelse
    7. Step 05 - While Loop in Java - An Introduction
    8. Step 06 - While Loop - Exercises - Cubes and Squares Upto Limit
    9. Step 07 - Do While Loop in Java - An Introduction
    10. Step 08 - Do While Loop in Java - An Example - Cube while user enters positive n
    11. Step 09 - Introduction to Break and Continue
    12. Step 10 - Selecting Loop in Java - For Versus While Versus Do While
  11. Chapter 11 : Reference Types
    1. Step 00 - Java Reference Types - Section Introduction
    2. Step 01 - Reference Types - How Are They Stored in Memory?
    3. Step 02 - Java Reference Types – Puzzles
    4. Step 03 - String Class - Introduction and Exercise - Print Each Word and char On
    5. Step 04 - String Class - Exercise Solution and Some More Important Methods
    6. Step 05 - Understanding String is Immutable and String Concat, Upper Case, Lower
    7. Step 06 - String Concatenation and Join, Replace Methods
    8. Step 07 - Java String Alternatives - StringBuffer and StringBuilder
    9. Step 08 - Java Wrapper Classes - An Introduction - Why and What?
    10. Step 09 - Java Wrapper Classes - Creation - Constructor and valueOf
    11. Step 10 - Java Wrapper Classes - Auto Boxing and a Few Wrapper Constants – SIZE
    12. Step 11 - Java Dates - Introduction to LocalDate, LocalTime, and LocalDateTime
    13. Step 12 - Java Dates - Exploring LocalDate - Creation and Methods to Play with D
    14. Step 13 - Java Dates - Exploring LocalDate - Comparing Dates and Creating Specif
    15. Eclipse Tip - Exploring Java API
    16. Step 14 - Java Reference Types – Conclusion
  12. Chapter 12 : Arrays and ArrayLists
    1. Step 00 - Introduction to Array and ArrayList - Section Introduction with a Challenge
    2. Step 01 - Understanding the Need and Basics about an Array
    3. Step 02 - Java Arrays - Creating and Accessing Values – Introduction
    4. Step 03 - Java Arrays - Puzzles - Arrays of Objects, Primitive Data Types, toStr
    5. Step 04 - Java Arrays - Compare, Sort, and Fill
    6. Step 05 - Java Arrays - Exercise - Create Student Class - Part 1 - Total and Ave
    7. Step 06 - Java Arrays - Exercise - Create Student Class - Part 2 - Maximum and Minimum
    8. Step 07 - Introduction to Variable Arguments – Need
    9. Step 08 - Introduction to Variable Arguments – Basics
    10. Step 09 - Introduction to Variable Arguments - Enhancing Student Class
    11. Step 10 - Java Arrays - Using Person Objects and String Elements with Exercises
    12. Eclipse Tip - Code Generation
    13. Step 11 - Java String Arrays - Exercise Solutions - Print Day of Week with Most
    14. Step 12 - Adding and Removing Marks - Problem with Arrays
    15. Step 13 - First Look at ArrayList - An Introduction
    16. Step 14 - First Look at ArrayList - Refactoring Student Class to Use ArrayList
    17. Step 15 - First Look at ArrayList - Enhancing Student Class with Add and Remove
    18. Step 16 - Introduction to Array and ArrayList – Conclusion
  13. Chapter 13 : Object-Oriented Programming Again
    1. Step 00 – Object-Oriented Programming - Level 2 - Section Introduction
    2. Step 01 - Basics of Designing a Class - Class, Object, State, and Behavior
    3. Step 02 - OOPS Example - Fan Class - Deciding State and Constructors
    4. Step 03 - OOPS Example - Fan Class - Deciding Behavior with Methods
    5. Step 04 - OOPS Exercise - Rectangle Class
    6. Step 05 - Understanding Object Composition with Customer Address Example
    7. Step 06 - Understanding Object Composition - An Exercise - Books and Reviews
    8. Step 07 - Understanding Inheritance - Why Do We Need It?
    9. Step 08 - Object is at the Top of Inheritance Hierarchy
    10. Step 09 - Inheritance and Overriding - with the toString() Method
    11. Step 10 - Java Inheritance - Exercise - Student and Employee Classes
    12. Step 11 - Java Inheritance - Default Constructors and the super() method call
    13. Step 12 - Java Inheritance - Puzzles - Multiple Inheritance, Reference Variables
    14. Step 13 - Java Abstract Class – Introduction
    15. Step 14 - Java Abstract Class - First Example - Creating Recipes with Template M
    16. Step 15 - Java Abstract Class – Puzzles
    17. Step 16 - Java Interface - Example 1 - Gaming Console - How to Think about Intef
    18. Step 17 - Java Interface - Example 2 - Complex Algorithm - API Defined by Extern
    19. Step 18 - Java Interface - Puzzles - Unimplemented Methods, Abstract Classes, Values
    20. Step 19 - Java Interface Versus Abstract Class - A Comparison
    21. Step 20 - Java Interface Flyable and Abstract Class Animal - An Exercise
    22. Programming Tips - 97 Things Every Programmer Should Know
    23. Step 21 - Polymorphism - An Introduction
  14. Chapter 14 : Collections
    1. Step 01 - Java Collections - Section Overview with Need for Collections
    2. Step 02 - List Interface - Introduction - Position is King
    3. Step 03 - List Interface - Immutability and Introduction of Implementations – Array
    4. Step 04 - List Interface Implementations - ArrayList Versus LinkedList
    5. Programming Tip - Teach Yourselves Programming in 10 Years
    6. Step 05 - List Interface Implementations - ArrayList Versus Vector
    7. Step 06 - List Interface - Methods to Add, Remove, and Change Elements and Lists
    8. Step 07 - List and ArrayList - Iterating Around Elements
    9. Step 08 - List and ArrayList - Choosing Iteration Approach for Printing and Deleting
    10. Step 09 - List and ArrayList - Puzzles - Type Safety and Removing Integers
    11. Step 10 - List and ArrayList - Sorting - Introduction to Collections Sort Static
    12. Step 11 - List and ArrayList - Sorting - Implementing Comparable Interface
    13. Step 12 - List and ArrayList - Sorting - Providing Flexibility by Implementing C
    14. Step 13 - List and ArrayList - A Summary
    15. Step 14 - Set Interface - Introduction - No Duplication
    16. Step 15 - Understanding Data Structures - Array, LinkedList, and Hashing
    17. Step 16 - Understanding Data Structures - Tree - Sorted Order
    18. Step 17 - Set Interface – Hands-On - HashSet, LinkedHashSet, and TreeSet
    19. Step 18 - Set Interface - Exercise - Find Unique Characters in a List
    20. Step 19 - TreeSet - Methods from NavigableSet - floor,lower,upper, subSet, head
    21. Step 20 - Queue Interface - Process Elements in Order
    22. Step 21 - Introduction to PriorityQueue - Basic Methods and Customized Priority
    23. Step 22 - Map Interface - An Introduction - Key and Value
    24. Step 23 - Map Interface - Implementations - HashMap, HashTable, LinkedHashMap
    25. Step 24 - Map Interface - Basic Operations
    26. Step 25 - Map Interface - Comparison - HashMap Versus LinkedHashMap Versus TreeMap
    27. Step 26 - Map Interface - Exercise - Count Occurrences of Characters and Words
    28. Step 27 - TreeMap - Methods from NavigableMap - floorKey, higherKey, firstEntry
    29. Step 28 - Java Collections - Conclusion with Three Tips
  15. Chapter 15 : Generics
    1. Step 01 - Introduction to Generics - Why Do We Need Generics?
    2. Step 02 - Implementing Generics for the Custom List
    3. Step 03 - Extending Custom List with a Generic Return Method
    4. Step 04 - Generics Puzzles - Restrictions with Extends and Generic Methods
    5. Step 05 - Generics and WildCards - Upper Bound and Lower Bound
  16. Chapter 16 : Introduction to Exception Handling
    1. Step 01 - Introduction to Exception Handling - Your Thought Process During Exception
    2. Step 02 - Basics of Exceptions - NullPointerException and StackTrace
    3. Step 03 - Basics of Handling Exceptions - try and catch
    4. Step 04 - Basics of Handling Exceptions - Exception Hierarchy, Matching, and Catch
    5. Step 05 - Basics of Handling Exceptions - Need for finally
    6. Step 06 - Basics of Handling Exceptions – Puzzles
    7. Step 07 - Checked Exceptions Versus Unchecked Exceptions - An Example
    8. Step 08 - Hierarchy of Errors and Exceptions - Checked and Runtime
    9. Step 09 - Throwing an Exception - Currencies Do Not Match Runtime Exception
    10. Step 10 - Throwing a Checked Exception - Throws in Method Signature and Handling
    11. Step 11 - Throwing a Custom Exception – CurrenciesDoNotMatchException
    12. Step 12 - Write Less Code with Try with Resources - New Feature in Java 7
    13. Step 13 - Basics of Handling Exceptions - Puzzles 2
    14. Step 14 - Exception Handling - Conclusion with Best Practices
  17. Chapter 17 : Java Tips
    1. Java Tip 01 - Imports and Static Imports
    2. Java Tip 02 – Blocks
    3. Java Tip 03 - Equals Method
    4. Java Tip 04 - hashcode Method
    5. Java Tip 05 - Class Access Modifiers - Public and Default
    6. Java Tip 06 - Method Access Modifiers - Public, Protected, Private, and Default
    7. Java Tip 07 - Final Classes and Final Methods
    8. Java Tip 08 - Final Variables and Final Arguments
    9. Java Tip 09 - Why Do We Need Static Variables?
    10. Java Tip 09 - Why Do We Need Static Methods?
    11. Java Tip 10 - Static Methods cannot Use Instance Methods or Variables
    12. Java Tip 11 - Public Static Final – Constants
  18. Chapter 18 : Getting Started with Selenium, JUnit, and TestNG
    1. Step 01 - Getting Started with Selenium - An Overview
    2. Step 02 - Installing Selenium IDE
    3. Step 03 - Recording and Replaying Google Search with Selenium IDE
    4. Step 04 - Exercise - Recording Facebook Login
    5. Step 05 - Advanced Features in Selenium IDE
    6. Step 06 - Alternative for Selenium IDE - Katalon Studio
    7. Step 07 - Installing and Recording Tests with Katalon Studio
    8. Step 08 - Advanced Features of Katalon Studio
    9. Step 09 - Export Unit Tests and Set up new Maven Project
    10. Step 10 - Adding Maven Dependencies for JUnit, Web Driver Manager and Web Driver
    11. Step 11 - Fixing Driver Error with ChromeDriverManager
    12. Step 12 - Exercise - Run Facebook JUnit Test
    13. Step 13 - Running a Selenium Automation Test - What is happening in Background
    14. Step 14 - Install TestNG Plugin and Create New Project with TestNG
    15. Step 15 - Export and Run TestNG Test for Google and Facebook
    16. Step 16 - Comparing TestNG and JUnit Tests and Course Overview
  19. Chapter 19 : TestNG Versus JUnit
    1. Step 01 - Introduction to TestNG Versus JUnit
    2. Step 02 - Creating a Unit Test for SimpleClass
    3. Step 03 - Adding Asserts to Unit Test
    4. Step 04 - Exercise - Write More Unit Test Scenarios
    5. Step 05 - Writing Selenium JUnit Automation Test for Google - Part 1
    6. Step 06 - Writing Selenium JUnit Automation Test for Google - Part 2
    7. Step 07 - Exploring WebDriver Interface
    8. Step 08 - Writing Selenium JUnit Automation Test for Google - Part 3
    9. Step 09 - Reducing Duplication with @Before and @After JUnit Annotations
    10. Step 10 - Time for TestNG - Convert Unit Test to TestNG
    11. Step 11 - TestNG Advanced Features - XML Suite and Test Reports
    12. Step 12 - TestNG Advanced Features - Running Tests with Parameters Defined in XM
    13. Step 13 - TestNG Advanced Features - Running Tests in Parallel
  20. Chapter 20 : Getting Started with HTML, CSS, and XPath
    1. Step 01 - Why Should You Learn HTML and CSS
    2. Step 02 - How Does the Web Work - Request, Response, HTML, and Browser
    3. Step 03 - Installing Web Editor – Brackets
    4. Step 04 - First HTML File - Tags, HTML, Head, and Body
    5. Step 05 - Basic HTML Tags - Paragraph, Div, Heading - H1 to H6
    6. Step 06 - Formatting Tags - Bold, Italicized, and Quotes
    7. Step 07 - Using Tags without Closing Tag - BR and HR
    8. Step 08 - W3C Standards for HTML
    9. Step 09 - Creating a List of Elements with UL LI and OL
    10. Step 10 - Organizing Your Data Using Tables
    11. Step 11 - Organizing Your Data Using Tables - Exercise Solutions
    12. Step 12 - HTML Attributes and Links - Absolute and Relative
    13. Step 13 - Image Tag in HTML - Local and Internet Links
    14. Step 14 - Introduction to Live Preview Feature in Brackets
    15. Step 15 - Nesting of Divs and Understanding the align Attribute
    16. Step 16 - Getting Data from Users Using Forms - Text and TextArea
    17. Step 17 - Attributes on Text Elements - Size, maxlength, value
    18. Step 18 - Choosing Among Multiple Options Using Radio Buttons
    19. Step 19 - Choosing Among Multiple Options Using Select Box
    20. Step 20 - Choosing Yes or No with Check Box
    21. Step 21 - Submitting a Form and Understanding GET and POST
    22. Step 22 - Introduction to Frames
    23. Step 23 - Miscellaneous - Password Fields, File Input, and Multi Select Box
    24. Step 24 - Introduction to CSS
    25. Step 25 - CSS for Input, Select, and Text Area
    26. Step 26 - CSS Attributes with Color, Background Color
    27. Step 27 - Grouping Form Elements with fieldset
    28. Step 28 - Styling Fieldsets with CSS
    29. Step 29 - Exercise - Styling Lists
    30. Step 30 - Using an External CSS File
    31. Step 31 - Understanding Class in CSS
    32. Step 32 - Making the Best Use of Class in CSS and Multiple Classes
    33. Step 33 - Using id with CSS
    34. Step 34 - Understanding CSS Selectors and Testing Using the $$ Function
    35. Step 35 - CSS Selectors - Identifying Input Element
    36. Step 36 - Introduction to XPath Expressions - Absolute and Relative
    37. Step 37 - Using id and Class in XPath Expressions
    38. Step 38 - Using XPath on the Forms Page
    39. Step 39 - A Review of XPat Expressions and CSS Selectors
  21. Chapter 21 : Setting Up the First Web Application
    1. Step 01 - Setting Up the First Web Application
    2. Step 02 - Refactoring Shortcuts to Learn
    3. Step 03 - My Favorite Shortcuts - Ctrl + 1 and Ctrl + Space
  22. Chapter 22 : Selenium Automation – Locators
    1. Step 01 - Introduction to the Section
    2. Step 02 - Setting Up a New Project with TestNG
    3. Step 03 01 - Selenium Locators - Locate Elements by Id and WebElement Interface
    4. Step 03 02 - Exercise - Selenium Locators - Locate Elements by Id
    5. Step 04 - Selenium Locators - Locate Elements by Name - Part 1
    6. Step 05 - Selenium Locators - Locate Elements by Name - Part 2
    7. Step 06 - Abstracting @BeforeTest and @AfterTest to Common Super Class AbstractC
    8. Step 07 - Debugging Errors - Element Not Found Exception
    9. Step 08 - Selenium Locators - Locate Elements by Tag Name
    10. Step 09 - Finding Multiple Matching Elements with findElements
    11. Step 10 - Finding Multiple Matching Input Elements
    12. Step 11 - Slowing Tests Using Sleep for Visualizing
    13. Step 12 - Automation Test for Entering UserId and Password and Logging
    14. Step 13 - Exercise - Create Automation Test for Login Static Page
    15. Step 14 - Selenium Locators - Locate Elements by Link Text
    16. Step 15 - Selenium Locators - Locate Elements by Partial Link Text
    17. Step 16 - Selenium Locators - Locate Elements by Class
    18. Step 17 - Exercise - Selenium Locators - Locate Elements by Class
    19. Step 18 - Selenium Locators - Locate Table Element
    20. Step 19 - Exercise - Selenium Locators - Locate and Click Table Element
    21. Step 20 - Understanding CSS Selectors for Table Data – td
    22. Step 21 - Using XPath Expressions to Locate Table Elements
    23. Step 22 - Choosing Among Multiple Selenium Locator Options
    24. Step 23 - Improving Performance by Caching WebElements
    25. Step 24 – Conclusion
  23. Chapter 23 : Selenium Automation - Playing with Form Elements
    1. Step 01 - Introduction to the Section
    2. Step 02 - Reading and Setting values into Text Elements Using Selenium WebDriver
    3. Step 03 - Reading and Setting Values into TextArea Elements Using Selenium WebDriver
    4. Step 04 - Reading Value of CheckBox in Automation Tests
    5. Step 05 - Setting Value of CheckBox in Automation Tests
    6. Step 06 - Creating Framework Utility Method for CheckBox in Automation Tests
    7. Step 07 - Reading Value of Radio Button in Automation Tests
    8. Step 08 - Setting Value of Radio Button in Automation Tests
    9. Step 09 - Reading Value of Select Box
    10. Step 10 - Reading Value of Multi Select Box
    11. Step 11 - Setting Value of Select Box in Automation Test
    12. Step 12 – Conclusion
  24. Chapter 24 : Selenium Automation - Advanced Testing Scenarios
    1. Step 01 - Introduction and Setting Up a New Project with TestNG and Selenium
    2. Step 02 - Reading CSS Styles
    3. Step 03 - Exercise - Reading CSS Styles
    4. Step 04 - Checking Whether an Element is Enabled Using isEnabled and Exploring WebDriver
    5. Step 05 - More Methods in WebDriver Interface - getAttribute, getLocation
    6. Step 06 - Accessing Window Information Using WebDriver Manage Window Method
    7. Step 07 - Window Navigation in Selenium Automation Test with WebDriver Navigate
    8. Step 08 - Automation Testing Modal Windows Using Sleep
    9. Step 09 - Automation Testing Modal Windows with Implicit Wait
    10. Step 10 01 - Automation Testing Modal Windows with Explicit Waits
    11. Step 10 02 - Automation Testing Modal Windows with Explicit Waits – Events
    12. Step 11 - Testing Alert Boxes with Selenium
    13. Step 12 - Window Handles and Basics of Testing New Browser Window Launch
    14. Step 13 - Finding the Handle of Newly Launched Window
    15. Step 14 - Switching to Newly Launched Window
    16. Step 15 - Writing Automation Tests for Frames
    17. Step 16 - Taking a Screenshot During Automation Test
    18. Step 17 - Executing JavaScript Code in Selenium Test
    19. Step 18 - Reviewing WebDriver Interface
    20. Step 20 - Writing Automation Tests for Tables
    21. Step 21 - Designing a Basic Framework for Tables
    22. Step 22 - Using Actions Interface for Basic Actions with Keyboard and Mouse
    23. Step 23 - More Actions Interface - Drag, Drop, Hold, and Release
  25. Chapter 25 : Introduction to Cross Browser Automation Testing
    1. Step 01 - Introduction to Cross Browser Automation Testing
    2. Step 02 - Setting Up a New Project and Running Tests in Chrome and Firefox
    3. Step 03 - Running Automation Tests in Other Browsers - Safari, Internet Explorer
    4. Step 04 - Running Headless Automation Test with PhanthomJS
    5. Step 05 - Running Automation Tests with Chrome and Firefox Browsers in Headless
    6. Step 06 - Designing Cross Browser Automation Test Framework - Part 1
    7. Step 07 - Designing Cross Browser Automation Test Framework - Part 2
  26. Chapter 26 : Data-Driven Testing with Data Providers, CSV, and Excel Spreadsheets
    1. Step 01 - Section Overview
    2. Step 02 - Understanding Prerequisites and Login Test Scenario
    3. Step 03 - Setting Up a new Project with Hardcoded Login Scenario
    4. Step 04 - Writing Automation Test for Unsuccessful Login
    5. Step 05 – Data-Driven Unsuccessful Login Automation Test with DataProvider
    6. Step 06 - Adding Passwords to DataProvider
    7. Step 07 - Adding Expected Test Result to Data Provider
    8. Step 08 - Reading Test Data from CSV File
    9. Step 09 - Connecting Test Data Provider to CSV File
    10. Step 10 - Setting Up Excel File with Google Spreadsheets
    11. Step 11 - Reading Test Data from Excel Using POI and ExcelReadUtil
    12. Step 12 - Understanding ExcelReadUtil
    13. Step 13 - Connecting Test Data Provider to Excel File
  27. Chapter 27 : Implementing Page Object Model for Update To-Do Scenario
    1. Step 01 - Introduction - Objectives and Prerequisites
    2. Step 02 - Setting Up a New Project and Creating an Outline for the Update Todo
    3. Step 03 - Writing the First Version of Update Todo Automation Test
    4. Step 04 - First Working Version of Update Todo and a Discussion on Maintainability
    5. Step 05 - Introduction to Page Object Model
    6. Step 06 - Creating Your First Page Object
    7. Step 07 - Updating the Automation Test to Use Login Page Object
    8. Step 08 - Creating Action Methods in Login Page Object
    9. Step 09 - Creating Todo Page Object
    10. Step 10 - Creating List Todo Page Object
  28. Chapter 28 : Scaling Up with Selenium Standalone and Grid
    1. Step 01 - Selenium Standalone and Grid - An Introduction
    2. Step 02 - Installation Step I - NPM Using Node JS
    3. Step 03 - Installation Steps II and III - Installing and Launching Selenium Stand
    4. Step 04 - Setting Up an Automation Project and Creating a Simple Test
    5. Step 05 - Creating a New Test to Run Using Selenium Standalone Server
    6. Step 06 - Introduction to Selenium Grid - Hub and Nodes
    7. Step 07 - Setting Up Selenium Grid with a Hub and Two Nodes
    8. Step 08 - Setting Up Different Browser Capabilities for the Nodes
  29. Chapter 29 : Congratulations
    1. Congratulations
  30. Chapter 30 : Appendix – Maven
    1. Introduction to Maven in Five Steps
    2. Step 01 - Creating and Importing a Maven Project
    3. Step 02 - Understanding Project Object Model
    4. Step 03 - Maven Build Lifecycle
    5. Step 04 - How Does Maven Work?

Product information

  • Title: Learn Automation Testing with Java and Selenium WebDriver
  • Author(s): In28Minutes Official
  • Release date: March 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781838552770