Become an automation expert by learning Java, Selenium, Cucumber, Junit, Docker and other technologies!


What you will 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

Description


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!


English 

language

Content


Introduction

Introduction

BONUS: Java for Beginners

Installing the JDK

Choosing an IDE

Primitive Data Types

Reference Data Types

Arrays

Operators

If Statements

For Loops

While Loops

Strings

Working with User Input

Switch Case Statements

Objects and Classes

Methods

Method Parameters

Constructors

Getters and Setters

Access Modifiers

Static Keyword

Abstract Classes

Final Keyword

Interfaces

Polymorphism

Collections

Generics and Lists

Sets

Maps

Equals

The toString() Method

Handling Exceptions

Working with Files

Anonymous Inner Classes

Inner Classes

Enums

BONUS: Design Patterns in Java

Introduction to the Design Patterns

The Builder Pattern Problem Statement

How to Implement the Builder Pattern

Introduction to the Factory Pattern

Factory Pattern Demo

Introduction to the Abstract Factory Pattern

Introduction to the Singleton Pattern

Singleton Pattern Demo

Introduction to the Prototype Pattern

Prototype Pattern Demo

The Object Pool Pattern

Implementing the Object Pool Pattern

Quiz about the Creational Patterns

The Structural Patterns

Introduction to the Adapter Pattern

Implementing the Adapter Pattern

Introduction to the Bridge Pattern

Implementing the Bridge Pattern.mp4

The Filter Pattern

Introduction to the Composite Pattern

Implementing the Composite Pattern

Introduction to the Decorator Pattern

Implementing the Decorator Pattern

Introduction to the Facade Pattern

Implementing the Facade Pattern

Introduction to the Flyweight Pattern

Implementing the Flyweight Pattern

Introduction to the Proxy Pattern

Implementing the Proxy Pattern

Quiz about the Structural Patterns

The Behavioural Design Patterns

Introduction to the Chain of Responsibility Pattern

Implementing the Chain of Responsibility Pattern

Introduction to the Command Pattern

Implementing the Command Pattern

Introduction to the Interpreter Pattern

Implementing the Interpreter Pattern

Introduction to the Iterator Pattern

Implementing the Iterator Pattern

Introduction to the Mediator Pattern

Implementing the Mediator Pattern

Introduction to the Memento Pattern

Implementing the Memento Pattern

Introduction to the Observer Pattern

Implementing the Observer Pattern

Introduction to the State Pattern

Implementing the State Pattern

Introduction to the Strategy Pattern

Implementing the Strategy Pattern

Introduction to the Template Method Pattern

Implementing the Template Method Pattern

Introduction to the Visitor Pattern

Implementing the Visitor Pattern

Quiz about the Behavioural Patterns

Learning about Selenium Webdriver

Getting Started with Selenium Webdriver

Locators

Getting Text from a WebPage

Clicking on a WebPage

Send Text to a WebPage

Working with Tables

Types of Waits

Handling Exceptions

Using the JavascriptExecutor

Alerts in Selenium

Working with iFrames

Bonus: How to Handle Select in Selenium WebDriver

Bonus: Performing Special Actions

Selenium Quiz

Designing a New Automation Framework

Introduction

Page Object Model

Managing the Framework’s Driver

Getting Values Dynamically from Files

Small Refactorization of the Code

Adding the Website’s Pages – Part 1

Adding the Website’s Pages – Part 2

Adding the Website’s Pages – Part 3

Adding Password Encoding Capability

Adding Test Cases in Junit – Part 1

Adding Test Cases in Junit – Part 2

Adding Test Cases in Junit – Part 3

Assertions in Junit

Bonus: AssertThat() Explained

Using Parameterized Tests in Junit

JUnit vs TestNG -Which one to pick?

Capturing Screenshots with Selenium Webdriver

Adding SpingFramework Support

Adding BDD Tests with Cucumber – Part 1

Adding BDD Tests with Cucumber – Part 2

Adding Reporting Capabilities Using ExtentReports

Adding Logging Capabilities Using Log4j

Adding Full Logging Capabilities Assignment

Adding the Code to GIT

Launching Our Own GitLab Runner for Executing the Pipelines

Running Tests in a GitLab Pipeline

Running Tests in Parallel Using Selenium Grid

Running the Automated Tests Using Docker Containers in AWS Cloud

Post a Comment

Previous Post Next Post