UDEMY
UDEMY Logo

REST Assured API Automation from scratch + Framework + CI 

  • Offered byUDEMY

REST Assured API Automation from scratch + Framework + CI
 at 
UDEMY 
Overview

Only course to become an API testing expert, OAuth2.0 [Google/Spotify Live Examples] & Design Production Level Framework

Duration

23 hours

Total fee

399

Mode of learning

Online

Credential

Certificate

REST Assured API Automation from scratch + Framework + CI
 at 
UDEMY 
Highlights

  • 30-Day Money-Back Guarantee
  • Certificate of completion
  • Full lifetime access
  • Learn from 27 downloadable resources and 7 articles
Read more
Details Icon

REST Assured API Automation from scratch + Framework + CI
 at 
UDEMY 
Course details

What are the course deliverables?
  • Become an Expert in REST API automation using REST Assured
  • Develop production ready framework using clean code practices and integrate with CI
  • Serialization & De-serialization with Complex POJOs [Live practice]
  • Become confident and lead the API Automation effort in your project from scratch
  • In-depth understanding of REST Assured Fundamentals from scratch
  • OAuth2.0 Live Examples - Google and Spotify API
  • Rest API Authentication Mechanisms with Live Examples
  • Learn how to use POSTMAN for REST API Execution
  • Learn how to Automate POSTMAN APIs using REST Assured
  • Learn how to mock REST APIs using POSTMAN Mock Server
  • Learn about Jackson Databind API [Annotations, Serialization and De-serialization]
  • Learn basics of TestNG, Maven, Jenkins, Git
  • Learn Allure Reporting and generate feature rich reports
  • Learn how to use Lombok to greatly reduce Boiler plate code
  • Confidently work with complex JSONs in request and responses
  • How to match full JSON body using Jackson and JSON Assert libraries
  • Automate session/Form based authentication + CSRF token using a demo application
  • Hamcrest Assertions
  • Automating tests using both the BDD and non-BDD styles
  • Java Programming Basics
  • Learn how to write clean test cases by following most of the industry best practices
  • Learn how to integrate the framework with GitHub
  • Learn how to auto-trigger automation from Jenkins using GitHub Web Hooks, SCM Polling and Build Frequency
Read more
More about this course
  • Course Updates:Nov 2023: This course fully supports latest Rest Assured version 5.3.2, latest Java 21 and latest versions of all supporting libraries.Why learn Rest Assured and REST API automation?REST Assured API is one of the most popular library when it comes to automating the REST APIs. Most of the today's web applications are backed by the Micro services architecture and the REST APIs. Make no mistake, REST is gaining a lot of popularity amongst the developer community. As a QA engineer, it becomes very important to test the REST APIs as a working API is crucial for a product. With great adoption of OAuth 2.0 and Open ID Connect authentication mechanisms, it also becomes important to build an in-depth understanding of these authentication mechanisms. To speed up product delivery, the industry is gradually moving towards end to end continuous integration (CI) and continuous development process (CD). So it becomes critical that the backend API services are automated to facilitate and speed up this process. This is where the role of a QA engineer becomes of utmost importance to be able to automate the backend API services. This is why you would want to learn everything about the REST Assured library to confidently automate the REST APIs and lead the effort single handedly. And, you have come to the right place! Why this is the right course for you? This REST Assured course is a one stop solution for all your API automation needs. This course will take you from the beginner level, all the way to be able to design and implement industry standard production ready API automation framework. By the end of the course, you will be confident enough to call yourself as an expert in the REST API automation space. This is probably the only course that covers serialization and de-serialization in great detail and that too with complex POJO examples. This is the only course that explains many of the authentication and authorization schemes in REST API, in a simple manner and with live examples. For OAuth2.0, we have covered two famous APIs - Google and Spotify. This is the only course that values your precious time. Lectures are short, crisp and to the point. I have spent a great amount of time editing the videos so that you don't have to waste your time just to learn a simple concept. This course covers many topics you will not find in other courses, for e.g. Lombok, Jackson Databind API, JSON Assert, Hamcrest assertions, etc. Before we start learning REST Assured and many of its cool features, I'll spend a great amount of time to explain you about the API basics, the HTTP concepts, what is REST, the HTTP methods, POSTMAN, Mocking APIs, JSON and JSON Path and also the basics of Java Programming language. These are the essentials one must become familiar with before jumping on with the REST Assured automation. I'll explain you each and every REST Assured concept with live coding and I'll not just write the code. I'll also explain you what happens behind the scenes. This is the best way to learn something new. "Why" and "How" are more important than "What"! You will learn how to think like an automation lead, plan and design the automation framework, optimizing the code, write clean tests and follow good programming practices. For e.g. you will always see me formatting the code (I hate poorly formatted code). It's a small thing, but is very important! I'm VERY RESPONSIVE in the Q&A section. I respond to queries within 24 hours. If the time zone difference is not that huge, I can respond within 3-12 hours. So, "Rest Assured", by the end of this course, you will become an expert!What topics are covered in this course?Here's the list of all the important concepts covered in this course:API EssentialsPostman EssentialsJSON EssentialsHTTP EssentialsPostman Mock ServerJava Programming BasicsGroovy JsonPathJayway JsonPathGroovy Vs JaywayRest Assured - SetupRest Assured - Getting StartedRest Assured - LoggingRest Assured - Handling HeadersRest Assured - Automate GetRest Assured - Hamcrest AssertionRest Assured - Hamcrest Collection MatchersSerialization & De-serialization: ConceptSerialization & De-serialization: POJOsSerialization & De-serialization: Role of Jackson APISerialization & De-serialization: HashMap to JSON objectSerialization & De-serialization: ArrayList to JSON arraySerialization & De-serialization: Jackson AnnotationsSerialization & De-serialization: Jackson ObjectMapperSerialization & De-serialization: Jackson ObjectNodeSerialization & De-serialization: Jackson ArrayNodeSerialization & De-serialization: Complex POJO ExampleSerialization & De-serialization: Full JSON body matchingSerialization & De-serialization: Parameterization using TestNG Data providerRest Assured - Request SpecificationRest Assured - Response SpecificationRest Assured - Automate Post, Put, DelRest Assured - Multiple ways to send request payloadRest Assured - Complex JSON in request bodyRest Assured - Request ParametersRest Assured - Multipart Form DataRest Assured - Form URL EncodedRest Assured - File upload and downloadRest Assured - JSON Schema ValidationRest Assured - Logging FiltersRest Assured - ConfigsAuthentication schemes - Form/Session Based AuthenticationAuthentication schemes - Session FilterAuthentication schemes - CSRF TokenAuthentication schemes - Handling CookiesAuthentication schemes - OAuth2.0Authentication schemes - OpenID ConnectAuthentication schemes - OAuth Vs Open ID ConnectAuthentication schemes - ID TokenAuthentication schemes - OAuth Authorization Grant FlowAuthentication schemes - OAuth Implicit Grant FlowAuthentication schemes - OAuth Client Credentials FlowAuthentication schemes - Basic AuthenticationAuthentication schemes - Digest AuthenticationAuthentication schemes - Bearer TokenAuthentication schemes - APIKeyGoogle OAuth 2.0 - Configure and setup client app for authorization code grant flowGoogle OAuth 2.0 - Fetch auth code, access token and refresh tokenGoogle OAuth 2.0 - Renew access tokenGoogle OAuth 2.0 - Automate Get User Profile APIGoogle OAuth 2.0 - Automate Send Email APIGoogle OAuth 2.0 - Implicit grant flow implementationGoogle OAuth 2.0 - Open ID connect flow implementationSpotify OAuth 2.0 - Configure and setup client app for authorization code grant flowSpotify OAuth 2.0 - Fetch auth code, access token and refresh tokenSpotify OAuth 2.0 - Renew access tokenSpotify OAuth 2.0 - Automate Playlist APIFramework goals accomplished in this course:Scalable and extensibleReusable Rest Assured specificationsReusable Rest Assured API requestsSeparation of API layer from test layerPOJOs for Serialization and DeserializationSingleton Design PatternLombok for reducing Boilerplate codeBuilder pattern for Setter methods in POJOsRobust reporting and logging using AllureAutomate positive and negative scenariosSupport parallel executionData driven using TestNG Data ProviderAutomated access token renewalMaven command line executionIntegration with GitIntegration with JenkinsTech stack and tools covered in this course:Rest AssuredTestNGJavaAllure ReportsHamcrestJackson APILombokWhat else is included in the course.All the code & notes used in the lectures is available for downloadYou will get my full support in the Q&A
Read more

REST Assured API Automation from scratch + Framework + CI
 at 
UDEMY 
Curriculum

Welcome!

Welcome to the course

Important: How to get a better learning experience

Important: When you need my help

API Essentials

What is API?

What is Rest API?

What is JSON?

REST Vs HTTP

API Request Anatomy

Quiz

Postman Essentials

Install

Walkthrough

Generate API Key

API documentation

Execute GET Request

JSON Essentials

JSON Syntax and Data Types

Fetch JSON using Groovy's GPath

Fetch JSON using JayWay's JsonPath

Groovy's GPath Vs JayWay's JsonPath

Quiz

HTTP Essentials

HTTP Concepts: Safe, Idempotent and Cacheable

GET

HEAD

POST

PUT

DELETE

OPTIONS

PATCH

Status Codes

Status Codes - Live Examples

Quiz

Postman Mock Server

Setup Mock Server with Multiple Examples

Use Mock Server to Practice All HTTP Status Codes

Quiz

JAVA Programming Essentials

Section Intro

Java Basics - Part 1

Java Basics - Part 2

Java Basics - Part 3

Java Basics - Part 4

Control Structures

OOP - Inheritance and super keyword

Access modifiers

OOP - Encapsulation

OOP - Polymorphism

OOP - Abstraction using abstract class

OOP - Abstraction using interface

Exception handling

File operations

Rest Assured - Setup

What is Rest Assured?

Setup Pre-requisites

Setup JAVA JDK

AVOID JAVA 8, 9 OR 10

Create project using IntelliJ

Eclipse - TestNG plugin download issue - Must watch before proceeding

Create project using Eclipse

Quiz

Download Resources

Download Code from here

Download the Slide Deck from here

Rest Assured - Getting Started

Why static imports?

Method chaining concept

Automate GET Request - Assert Status Code

Automate GET Request - Assert Response body

Automate GET Request - Extract Response

Automate GET Request - Extract Single Field

Hamcrest Assertion on Extracted Response

What is Hamcrest and Why it is popular?

Hamcrest Collection Matchers - Part 1

Hamcrest Collection Matchers - Part 2

Hamcrest Collection Matchers - Part 3

Hamcrest Collection Matchers - Part 4

Quiz

Rest Assured - Logging

Request and Response Logging

Log if Error

Log if Validation Fails

Blacklist Headers

Quiz

Rest Assured - Handling Headers

What are Headers?

Set Mock Environment for Headers

Multiple Headers in Request

Multiple Headers in Request - Using Headers

Multiple Headers in Request - Using Map

Multi Value Header

Response Headers - Assert

Response Headers - Extract

Response Headers - Extract Multi Value Header

Quiz

Rest Assured - Request Specification

What is Request Specification?

How to Reuse Request Specification?

BDD to non-BDD

Request Specification Builder

Default Request Specification

Query Request Specification

Quiz

Rest Assured - Response Specification

Create Response Specification

Response Specification Builder

Default Response Specification

Quiz

Rest Assured - Automate POST, PUT and DELETE

POST - BDD Style

POST - non-BDD Style

PUT

DELETE

Quiz

Rest Assured - Send Request Payload Multiple Ways

Send as a File

Send Nested JSON Object as a Map

Send JSON Array as a List - Create Mock Request

Send JSON Array as a List - Build Test Case

Send JSON Array as a List - Content Type Encoding

Quiz

Rest Assured - Send Complex JSON as Request Payload

Create a Mock Request with Complex JSON as Request Payload

Send Complex JSON using Map and List

Assignment - Automate Complex JSON

Rest Assured - Handling Request Parameters

Postman Echo Introduction

Single Query Parameter

Multiple Query Parameters

Multi Value Query Parameter

Path Parameter

Quiz

Rest Assured - Multipart Form Data

What is Multipart Form Data?

Automate Multipart Form Data

Quiz

Rest Assured - File Upload and Download

Upload File

Download File

Quiz

Rest Assured - Form URL Encoding

What is Form URL Encoding?

Automate Form URL Encoded Request Payload

Quiz

Rest Assured - JSON Schema Validation

What is JSON Schema?

Automate JSON Schema Validation

Class Path Options

Quiz

Rest Assured - Filters

Log Request and Response Specification to the Console

Log to File

Reuse Filters

Serialization and De-serialization

Serialization and De-serialization in Java

Serialization and De-serialization in Rest Assured

Object Mapping Support

Serialize Map to JSON Object using Jackson

Serialize List to JSON Array using Jackson

Serialize Jackson Object Node to JSON Object

Serialize Jackson Array Node to JSON Array

What is POJO?

Simple POJO: Create Mock Request

Simple POJO: Serialization

Simple POJO: De-serialization

Workspace POJO: Serialize and De-serialize

Workspace POJO: Parameterize Tests using TestNG Data Provider

Quiz

Assignment - Create POJO and serialize this JSON

Jackson Annotations

Not Null

Non Default

Non Empty

JSON Ignore and JSON Ignore Properties

Complex POJO - Live Practice

API Walkthrough

Create POJOs

Build Payload and Serialize

De-serialize and Assert Full Body [JSON Assert]

Challenges

Handle Different Data Types in Request and Response

Assert Field with Different Data Types

Automate One More Test Case

Coding challenges

Fetch all nested keys and values from a given JSON array

Fetch values of fields with same key name

Authentication and Authorization

Authentication Vs Authorization

Different Authentication Schemes

Basic Authentication

Digest Authentication

Bearer Authentication

API Key Authentication

What is OAuth?

What is OpenID Connect?

Quiz

OAuth Flows

OAuth Terminologies

Authorization Code Grant Flow

Implicit Grant Flow

Client Credentials Flow

Quiz

Google OAuth2.0

Introduction

Create Gmail Account

Create Client App

Enable Gmail API

Create Consent Screen

Create Client Credentials

Authorize App

Fetch Access Token and Refresh Token

Renew Access Token

Execute Get User Profile API

Execute Send Email API

Quiz

Google OAuth2.0 - Implicit Grant Flow and OpenID Connect

Implicit Grant Flow

OpenID Connect - ID Token [JWT Token]

Assignment - Let's learn more about the JWT Token

Google OAuth2.0 - Automate

Get Profile API

Send Email API

Assignment - Automate Gmail APIs: Delete/Get/List/Modify

Form Based Authentication

What is Session Based Authentication?

What is Form Based Authentication?

What is CSRF Token?

Setup Demo App

Demo App Walkthrough

Automate Post

Fetch Session ID using Session Filter

Automate Get Profile

HTML Validation

Quiz

Rest Assured - Handling Cookies

What is a Cookie?

Demo Application Cookie Flow

Sending Cookie

Sending Cookie using Cookie Builder

Sending Multiple Cookies

Fetch Single Cookie

Fetch Multiple Cookies

Quiz

Framework - Roadmap

Roadmap

Download Code from here

Framework - Spotify OAuth2.0

Introduction

Authorization API Intro

Register a Client App

Authorize App

Fetch Access Token and Refresh Token

Renew Access Token

Execute Create a Playlist API

Execute Get a Playlist API

Execute Update a Playlist API

Framework - Automate Tests

Automate Create a Playlist API

Automate Get a Playlist API

Automate Update a Playlist API

Automate Negative Scenarios

Framework - Create POJOs

Why Refactoring?

Create POJO Classes

Update Test Cases to use POJOs

Builder Pattern with POJOs

Framework - Create Reusable Methods

Create Spec Builder

Create Playlist API Reusable Methods

Create Rest Assured Reusable Methods

Framework - Token Manager

Renew Token Automatically

Check Token Expiry

Create Reusable Method

Create Reusable Spec

Framework - Routes

Create Routes

Framework - Property Loaders

Create Property Loader Utility

Create Config Loader - Singleton Design Pattern

Create Data Loader

Framework - Test Class Refactoring

Optimize Code

Framework - Lombok

Introduction

Setup

Implement without Builder

Implement with Builder

Framework - Allure Reporting

Introduction

Install

Add Dependency

Generate Reports

Add Display Name

Add Description

Add Links

Add Behaviors

Add Steps

Add Filter

Custom Folder Path

Framework - Maven Command Line

Execute using Maven

Framework - Important Optimizations

Use OAuth method to supply token

Java Faker API

Java Enum to store Status Codes

Enable Parallel Execution

Enable for Multiple Environments

Framework - Integration With GitHub

Create GitHub Repository

Git Clients - Various Options

Commit Code to GitHub Repository

How to Push Subsequent Changes?

Framework - CI

Install Jenkins on Windows

Install Jenkins on Mac

Create Automation Jenkins Job

Jenkins Auto Trigger: SCM Polling

Jenkins Auto Trigger: Build Frequency

Jenkins Auto Trigger: GitHub Web Hooks

Bonus Lecture

Bonus Lecture - What to learn next?

Faculty Icon

REST Assured API Automation from scratch + Framework + CI
 at 
UDEMY 
Faculty details

Omprakash Chavan
Designation : Test Automation Lead

Other courses offered by UDEMY

549
50 hours
– / –
3 K
10 hours
– / –
549
4 hours
– / –
599
10 hours
– / –
View Other 2346 CoursesRight Arrow Icon
qna

REST Assured API Automation from scratch + Framework + CI
 at 
UDEMY 

Student Forum

chatAnything you would want to ask experts?
Write here...