Automation Testing Masterclass Selenium Cucumber and More

Become an automation expert by learning Java, Selenium, Cucumber, Junit, Docker and other technologies!
Automation Testing Masterclass Selenium Cucumber and More
File Size :
6.81 GB
Total length :
15h 43m



Laurentiu Raducu


Last update




Automation Testing Masterclass Selenium Cucumber and More

What you’ll learn

Everything about automation testing.
Automation testing using Selenium WebDriver.
Usage of unit test libraries such as Junit and TestNG.
Making use of BDD through Cucumber.
Make use CI/CD pipelines with Gitlab in running your tests.
Become a full stack Software Development Engineer in Test

Automation Testing Masterclass Selenium Cucumber and More


This course will be using JAVA. However. knowledge of any OOP language would be an advantage, but not necessary, since we cover the basics of Java in an entire section.


This course covers everything you need to know about automation testing. Starting by learning the basic concepts of Java, followed by learning how to test Web Applications using Selenium Webdriver, and then diving into the topic of unit testing, using Cucumber, TestNG and Junit. Following this video series should give you a very good understanding on what automation testing really means.The objective of this course is to make you proficient in working with tools used by automation engineers. If your goal is to get a job as an automation engineer, this course would not just give you a solid preparation for the interview, but it will also provide the necessary knowledge in order to thrive at your new job. The course has the following structure:We learn Java together, as well as Object Oriented Programming principles. If you are already familiar with Java, you can skip this part.We dive into the subject of design patterns, with the objective of learning how to manage complex, repeatable situations in our code. This will give us the expertise on how to design our code for scalable, memory efficient automation frameworks.We then learn about Selenium, what it is and how to use it in testing Web Applications.The last part concentrates on how to develop your own automation framework, using the newest technologies available for automation engineers.By following this structure, as a beginner, you will be confident enough to apply for automation engineer jobs, having the knowledge of all the libraries we cover in this course. As a more experienced person, you will be ready to tackle topics such as creation of a new automation framework from scratch, using the design principles and the full potential of the technologies covered here.As a general recommendation, in order to speed up the learning process, study the corresponding code snippets attached to each video. Start experimenting with it, by removing/adding stuff and see what happens. This will not only consolidate your knowledge, but it will help you understand deeply what the studied concept is about. There’s nothing better than stumbling upon issues, investigate and troubleshoot them yourself! I wish you a pleasant journey throughout the videos, and I hope you appreciate the content!


Section 1: Introduction

Lecture 1 Introduction

Section 2: BONUS: Java for Beginners

Lecture 2 Installing the JDK

Lecture 3 Choosing an IDE

Lecture 4 Installing Intellij IDEA Community Edition

Lecture 5 Creating the First Java Project

Lecture 6 Variables

Lecture 7 Primitive Data Types

Lecture 8 Reference Data Types

Lecture 9 Arrays

Lecture 10 Operators

Lecture 11 If Statements

Lecture 12 For Loops

Lecture 13 While Loops

Lecture 14 Strings

Lecture 15 Working with User Input

Lecture 16 Switch Case Statements

Lecture 17 Objects and Classes

Lecture 18 Methods

Lecture 19 Method Parameters

Lecture 20 Constructors

Lecture 21 Getters and Setters

Lecture 22 Access Modifiers

Lecture 23 Static Keyword

Lecture 24 Abstract Classes

Lecture 25 Final Keyword

Lecture 26 Interfaces

Lecture 27 Polymorphism

Lecture 28 Collections

Lecture 29 Generics and Lists

Lecture 30 Sets

Lecture 31 Maps

Lecture 32 Equals

Lecture 33 The toString() Method

Lecture 34 Handling Exceptions

Lecture 35 Working with Files

Lecture 36 Anonymous Inner Classes

Lecture 37 Inner Classes

Lecture 38 Enums

Section 3: BONUS: Design Patterns in Java

Lecture 39 Introduction to the Design Patterns

Lecture 40 The Builder Pattern Problem Statement

Lecture 41 How to Implement the Builder Pattern

Lecture 42 Introduction to the Factory Pattern

Lecture 43 Factory Pattern Demo

Lecture 44 Introduction to the Abstract Factory Pattern

Lecture 45 Introduction to the Singleton Pattern

Lecture 46 Singleton Pattern Demo

Lecture 47 Introduction to the Prototype Pattern

Lecture 48 Prototype Pattern Demo

Lecture 49 The Object Pool Pattern

Lecture 50 Implementing the Object Pool Pattern

Lecture 51 The Structural Patterns

Lecture 52 Introduction to the Adapter Pattern

Lecture 53 Implementing the Adapter Pattern

Lecture 54 Introduction to the Bridge Pattern

Lecture 55 Implementing the Bridge Pattern.mp4

Lecture 56 The Filter Pattern

Lecture 57 Introduction to the Composite Pattern

Lecture 58 Implementing the Composite Pattern

Lecture 59 Introduction to the Decorator Pattern

Lecture 60 Implementing the Decorator Pattern

Lecture 61 Introduction to the Facade Pattern

Lecture 62 Implementing the Facade Pattern

Lecture 63 Introduction to the Flyweight Pattern

Lecture 64 Implementing the Flyweight Pattern

Lecture 65 Introduction to the Proxy Pattern

Lecture 66 Implementing the Proxy Pattern

Lecture 67 The Behavioural Design Patterns

Lecture 68 Introduction to the Chain of Responsibility Pattern

Lecture 69 Implementing the Chain of Responsibility Pattern

Lecture 70 Introduction to the Command Pattern

Lecture 71 Implementing the Command Pattern

Lecture 72 Introduction to the Interpreter Pattern

Lecture 73 Implementing the Interpreter Pattern

Lecture 74 Introduction to the Iterator Pattern

Lecture 75 Implementing the Iterator Pattern

Lecture 76 Introduction to the Mediator Pattern

Lecture 77 Implementing the Mediator Pattern

Lecture 78 Introduction to the Memento Pattern

Lecture 79 Implementing the Memento Pattern

Lecture 80 Introduction to the Observer Pattern

Lecture 81 Implementing the Observer Pattern

Lecture 82 Introduction to the State Pattern

Lecture 83 Implementing the State Pattern

Lecture 84 Introduction to the Strategy Pattern

Lecture 85 Implementing the Strategy Pattern

Lecture 86 Introduction to the Template Method Pattern

Lecture 87 Implementing the Template Method Pattern

Lecture 88 Introduction to the Visitor Pattern

Lecture 89 Implementing the Visitor Pattern

Lecture 90 SOLID Principles

Section 4: Learning about Selenium Webdriver

Lecture 91 Getting Started with Selenium Webdriver

Lecture 92 Locators

Lecture 93 Getting Text from a WebPage

Lecture 94 Clicking on a WebPage

Lecture 95 Send Text to a WebPage

Lecture 96 Working with Tables

Lecture 97 Types of Waits

Lecture 98 Handling Exceptions

Lecture 99 Using the JavascriptExecutor

Lecture 100 Alerts in Selenium

Lecture 101 Working with iFrames

Lecture 102 Bonus: How to Handle Select in Selenium WebDriver

Lecture 103 Bonus: Performing Special Actions

Section 5: Designing a New Automation Framework

Lecture 104 Introduction

Lecture 105 Page Object Model

Lecture 106 Managing the Framework’s Driver

Lecture 107 Getting Values Dynamically from Files

Lecture 108 Small Refactorization of the Code

Lecture 109 Adding the Website’s Pages – Part 1

Lecture 110 Adding the Website’s Pages – Part 2

Lecture 111 Adding the Website’s Pages – Part 3

Lecture 112 Adding the Website’s Pages – Part 4

Lecture 113 Adding the Website’s Pages – Part 5

Lecture 114 UPDATE: The target product has been moved

Lecture 115 Adding Password Encoding Capability

Lecture 116 Adding Test Cases in Junit – Part 1

Lecture 117 Adding Test Cases in Junit – Part 2

Lecture 118 Adding Test Cases in Junit – Part 3

Lecture 119 Assertions in Junit

Lecture 120 Bonus: AssertThat() Explained

Lecture 121 BONUS: Using Parameterized Tests in Junit – using a different website

Lecture 122 JUnit vs TestNG -Which one to pick?

Lecture 123 Capturing Screenshots with Selenium Webdriver

Lecture 124 Adding SpingFramework Support

Lecture 125 Adding BDD Tests with Cucumber – Part 1

Lecture 126 Adding BDD Tests with Cucumber – Part 2

Lecture 127 Adding Reporting Capabilities Using ExtentReports

Lecture 128 Adding Logging Capabilities Using Log4j

Lecture 129 Adding Full Logging Capabilities Assignment

Lecture 130 Adding the Code to GIT

Lecture 131 Launching Our Own GitLab Runner for Executing the Pipelines

Lecture 132 Running Tests in a GitLab Pipeline

Lecture 133 Running Tests in Parallel Using Selenium Grid

Lecture 134 Running the Automated Tests Using Docker Containers in AWS Cloud

Section 6: BONUS: Backend Testing

Lecture 135 Introduction to API Testing

Lecture 136 Introduction to HTTP

Lecture 137 Analyzing HTTP Requests in the Browser

Lecture 138 Working with Postman

Lecture 139 Types of API’s

Lecture 140 Introduction to Swagger and API Documentation

Lecture 141 Automating REST Calls Using RestAssured

Lecture 142 Automating API Calls Using Core Java

Beginner and advanced automation testers, as well as tech-savvy people that wish to get an automation tester job.

Course Information:

Udemy | English | 15h 43m | 6.81 GB
Created by: Laurentiu Raducu

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top