Mô tả

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/deployment 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 a automation lead, how to plan and design the automation framework, how to think about optimizing the code, how to write clean tests and how to 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!

So, "Rest Assured", by the end of this course, you will become an expert!


What topics are covered in this course?

Short answer: Many.

Long answer: Here's the list ->

  • API Essentials

  • Postman Essentials

  • JSON Essentials

  • HTTP Essentials

  • Postman Mock Server

  • Java Programming Basics

  • Groovy JsonPath

  • Jayway JsonPath

  • Groovy Vs Jayway

  • Rest Assured - Setup

  • Rest Assured - Getting Started

  • Rest Assured - Logging

  • Rest Assured - Handling Headers

  • Rest Assured - Automate Get

  • Rest Assured - Hamcrest Assertion

  • Rest Assured - Hamcrest Collection Matchers

  • Serialization & De-serialization: Concept

  • Serialization & De-serialization: POJOs

  • Serialization & De-serialization: Role of Jackson API

  • Serialization & De-serialization: HashMap to JSON object

  • Serialization & De-serialization: ArrayList to JSON array

  • Serialization & De-serialization: Jackson Annotations

  • Serialization & De-serialization: Jackson ObjectMapper

  • Serialization & De-serialization: Jackson ObjectNode

  • Serialization & De-serialization: Jackson ArrayNode

  • Serialization & De-serialization: Complex POJO Example

  • Serialization & De-serialization: Full JSON body matching

  • Serialization & De-serialization: Parameterization using TestNG Data provider

  • Rest Assured - Request Specification

  • Rest Assured - Response Specification

  • Rest Assured - Automate Post, Put, Del

  • Rest Assured - Multiple ways to send request payload

  • Rest Assured - Complex JSON in request body

  • Rest Assured - Request Parameters

  • Rest Assured - Multipart Form Data

  • Rest Assured - Form URL Encoded

  • Rest Assured - File upload and download

  • Rest Assured - JSON Schema Validation

  • Rest Assured - Logging Filters

  • Rest Assured - Configs

  • Authentication schemes - Form/Session Based Authentication

  • Authentication schemes - Session Filter

  • Authentication schemes - CSRF Token

  • Authentication schemes - Handling Cookies

  • Authentication schemes - OAuth2.0

  • Authentication schemes - OpenID Connect

  • Authentication schemes - OAuth Vs Open ID Connect

  • Authentication schemes - ID Token

  • Authentication schemes - OAuth Authorization Grant Flow

  • Authentication schemes - OAuth Implicit Grant Flow

  • Authentication schemes - OAuth Client Credentials Flow

  • Authentication schemes - Basic Authentication

  • Authentication schemes - Digest Authentication

  • Authentication schemes - Bearer Token

  • Authentication schemes - APIKey

  • Google OAuth 2.0 - Configure and setup client app for authorization code grant flow

  • Google OAuth 2.0 - Fetch auth code, access token and refresh token

  • Google OAuth 2.0 - Renew access token

  • Google OAuth 2.0 - Automate Get User Profile API

  • Google OAuth 2.0 - Automate Send Email API

  • Google OAuth 2.0 - Implicit grant flow implementation

  • Google OAuth 2.0 - Open ID connect flow implementation

  • Spotify OAuth 2.0 - Configure and setup client app for authorization code grant flow

  • Spotify OAuth 2.0 - Fetch auth code, access token and refresh token

  • Spotify OAuth 2.0 - Renew access token

  • Spotify OAuth 2.0 - Automate Playlist API


And here're our Framework goals ->

  • Scalable and extensible

  • Reusable Rest Assured specifications

  • Reusable Rest Assured API requests

  • Separation of API layer from test layer

  • POJOs for Serialization and Deserialization

  • Singleton Design Pattern

  • Lombok for reducing Boilerplate code

  • Builder pattern for Setter methods in POJOs

  • Robust reporting and logging using Allure

  • Automate positive and negative scenarios

  • Support parallel execution

  • Data driven using TestNG Data Provider

  • Automated access token renewal

  • Maven command line execution

  • Integration with Git

  • Integration with Jenkins


And the tools and tech stack we are going to use ->

  • Rest Assured

  • TestNG

  • Java

  • Allure Reports

  • Hamcrest

  • Jackson API

  • Lombok


What else is included in the course?

  • All the code/notes used in the lectures is available for download

  • You will get my full support in the Q&A

Bạn sẽ học được gì

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

Yêu cầu

  • ***You do not need any prior REST API working experience to get started with the course***
  • ***Basic Java Programming is covered in the course, so do not worry if you do not have much Java background***
  • ***No other knowledge required, except for willingness to learn and perform hands-on while you go through the course***
  • ***Do not worry if you face any issue, I'm always available in the Q&A to quickly help you out***

Nội dung khoá học

50 sections

Welcome!

3 lectures
Welcome to the course
06:09
Important: How to get a better learning experience
03:06
Important: When you need my help
01:32

API Essentials

6 lectures
What is API?
06:00
What is Rest API?
01:55
What is JSON?
01:58
REST Vs HTTP
02:43
API Request Anatomy
03:42
Quiz
3 questions

Postman Essentials

5 lectures
Install
03:36
Walkthrough
11:10
Generate API Key
02:42
API documentation
02:55
Execute GET Request
04:29

JSON Essentials

5 lectures
JSON Syntax and Data Types
03:36
Fetch JSON using Groovy's GPath
06:52
Fetch JSON using JayWay's JsonPath
08:54
Groovy's GPath Vs JayWay's JsonPath
02:43
Quiz
6 questions

HTTP Essentials

11 lectures
HTTP Concepts: Safe, Idempotent and Cacheable
04:05
GET
04:25
HEAD
02:38
POST
06:12
PUT
04:54
DELETE
03:01
OPTIONS
02:46
PATCH
04:10
Status Codes
07:58
Status Codes - Live Examples
03:54
Quiz
7 questions

Postman Mock Server

3 lectures
Setup Mock Server with Multiple Examples
10:25
Use Mock Server to Practice All HTTP Status Codes
02:50
Quiz
1 question

JAVA Programming Essentials

14 lectures
Section Intro
01:57
Java Basics - Part 1
09:26
Java Basics - Part 2
10:32
Java Basics - Part 3
17:36
Java Basics - Part 4
08:44
Control Structures
15:52
OOP - Inheritance and super keyword
15:12
Access modifiers
12:46
OOP - Encapsulation
09:27
OOP - Polymorphism
19:05
OOP - Abstraction using abstract class
12:48
OOP - Abstraction using interface
14:15
Exception handling
16:30
File operations
18:11

Rest Assured - Setup

8 lectures
What is Rest Assured?
01:36
Setup Pre-requisites
02:30
Setup JAVA JDK
03:58
AVOID JAVA 8, 9 OR 10
00:09
Create project using IntelliJ
13:45
Eclipse - TestNG plugin download issue - Must watch before proceeding
00:15
Create project using Eclipse
13:36
Quiz
2 questions

Download Resources

2 lectures
Download Code from here
00:11
Download the Slide Deck from here
00:04

Rest Assured - Getting Started

13 lectures
Why static imports?
05:37
Method chaining concept
05:07
Automate GET Request - Assert Status Code
07:47
Automate GET Request - Assert Response body
09:19
Automate GET Request - Extract Response
02:53
Automate GET Request - Extract Single Field
05:48
Hamcrest Assertion on Extracted Response
02:56
What is Hamcrest and Why it is popular?
04:04
Hamcrest Collection Matchers - Part 1
04:20
Hamcrest Collection Matchers - Part 2
03:34
Hamcrest Collection Matchers - Part 3
04:02
Hamcrest Collection Matchers - Part 4
02:45
Quiz
5 questions

Rest Assured - Logging

5 lectures
Request and Response Logging
03:45
Log if Error
01:59
Log if Validation Fails
02:39
Blacklist Headers
02:56
Quiz
1 question

Rest Assured - Handling Headers

10 lectures
What are Headers?
06:59
Set Mock Environment for Headers
09:52
Multiple Headers in Request
04:05
Multiple Headers in Request - Using Headers
01:51
Multiple Headers in Request - Using Map
02:11
Multi Value Header
03:51
Response Headers - Assert
03:35
Response Headers - Extract
04:45
Response Headers - Extract Multi Value Header
02:37
Quiz
2 questions

Rest Assured - Request Specification

7 lectures
What is Request Specification?
08:35
How to Reuse Request Specification?
03:40
BDD to non-BDD
06:23
Request Specification Builder
06:20
Default Request Specification
02:59
Query Request Specification
03:46
Quiz
5 questions

Rest Assured - Response Specification

4 lectures
Create Response Specification
07:07
Response Specification Builder
02:51
Default Response Specification
01:56
Quiz
1 question

Rest Assured - Automate POST, PUT and DELETE

5 lectures
POST - BDD Style
13:50
POST - non-BDD Style
03:58
PUT
07:19
DELETE
03:21
Quiz
2 questions

Rest Assured - Send Request Payload Multiple Ways

6 lectures
Send as a File
03:57
Send Nested JSON Object as a Map
08:02
Send JSON Array as a List - Create Mock Request
06:18
Send JSON Array as a List - Build Test Case
09:03
Send JSON Array as a List - Content Type Encoding
07:25
Quiz
5 questions

Rest Assured - Send Complex JSON as Request Payload

3 lectures
Create a Mock Request with Complex JSON as Request Payload
05:53
Send Complex JSON using Map and List
16:18
Assignment - Automate Complex JSON
1 question

Rest Assured - Handling Request Parameters

6 lectures
Postman Echo Introduction
03:04
Single Query Parameter
06:06
Multiple Query Parameters
02:55
Multi Value Query Parameter
02:20
Path Parameter
04:45
Quiz
3 questions

Rest Assured - Multipart Form Data

3 lectures
What is Multipart Form Data?
04:17
Automate Multipart Form Data
03:27
Quiz
4 questions

Rest Assured - File Upload and Download

3 lectures
Upload File
05:51
Download File
07:31
Quiz
3 questions

Rest Assured - Form URL Encoding

3 lectures
What is Form URL Encoding?
03:13
Automate Form URL Encoded Request Payload
04:42
Quiz
3 questions

Rest Assured - JSON Schema Validation

4 lectures
What is JSON Schema?
05:19
Automate JSON Schema Validation
09:20
Class Path Options
01:55
Quiz
3 questions

Rest Assured - Filters

3 lectures
Log Request and Response Specification to the Console
04:08
Log to File
04:20
Reuse Filters
02:50

Serialization and De-serialization

15 lectures
Serialization and De-serialization in Java
01:53
Serialization and De-serialization in Rest Assured
03:29
Object Mapping Support
04:41
Serialize Map to JSON Object using Jackson
07:14
Serialize List to JSON Array using Jackson
03:46
Serialize Jackson Object Node to JSON Object
07:00
Serialize Jackson Array Node to JSON Array
05:40
What is POJO?
08:00
Simple POJO: Create Mock Request
03:18
Simple POJO: Serialization
07:22
Simple POJO: De-serialization
06:14
Workspace POJO: Serialize and De-serialize
12:32
Workspace POJO: Parameterize Tests using TestNG Data Provider
05:55
Quiz
11 questions
Assignment - Create POJO and serialize this JSON
1 question

Jackson Annotations

4 lectures
Not Null
02:47
Non Default
02:41
Non Empty
02:58
JSON Ignore and JSON Ignore Properties
04:34

Complex POJO - Live Practice

8 lectures
API Walkthrough
04:06
Create POJOs
11:21
Build Payload and Serialize
11:36
De-serialize and Assert Full Body [JSON Assert]
14:36
Challenges
03:39
Handle Different Data Types in Request and Response
17:55
Assert Field with Different Data Types
09:26
Automate One More Test Case
05:08

Coding challenges

2 lectures
Fetch all nested keys and values from a given JSON array
1 question
Fetch values of fields with same key name
1 question

Authentication and Authorization

9 lectures
Authentication Vs Authorization
02:30
Different Authentication Schemes
01:35
Basic Authentication
04:14
Digest Authentication
02:08
Bearer Authentication
02:48
API Key Authentication
03:26
What is OAuth?
08:49
What is OpenID Connect?
04:52
Quiz
7 questions

OAuth Flows

5 lectures
OAuth Terminologies
03:41
Authorization Code Grant Flow
07:29
Implicit Grant Flow
04:39
Client Credentials Flow
05:42
Quiz
5 questions

Google OAuth2.0

12 lectures
Introduction
04:33
Create Gmail Account
01:05
Create Client App
01:19
Enable Gmail API
01:06
Create Consent Screen
04:55
Create Client Credentials
02:57
Authorize App
11:39
Fetch Access Token and Refresh Token
05:04
Renew Access Token
03:05
Execute Get User Profile API
03:51
Execute Send Email API
04:52
Quiz
9 questions

Google OAuth2.0 - Implicit Grant Flow and OpenID Connect

3 lectures
Implicit Grant Flow
06:35
OpenID Connect - ID Token [JWT Token]
12:05
Assignment - Let's learn more about the JWT Token
1 question

Google OAuth2.0 - Automate

3 lectures
Get Profile API
06:34
Send Email API
06:34
Assignment - Automate Gmail APIs: Delete/Get/List/Modify
1 question

Form Based Authentication

10 lectures
What is Session Based Authentication?
05:46
What is Form Based Authentication?
06:37
What is CSRF Token?
04:05
Setup Demo App
05:38
Demo App Walkthrough
06:22
Automate Post
05:49
Fetch Session ID using Session Filter
03:20
Automate Get Profile
06:34
HTML Validation
04:59
Quiz
6 questions

Rest Assured - Handling Cookies

8 lectures
What is a Cookie?
08:40
Demo Application Cookie Flow
02:24
Sending Cookie
03:32
Sending Cookie using Cookie Builder
02:11
Sending Multiple Cookies
01:52
Fetch Single Cookie
03:07
Fetch Multiple Cookies
06:09
Quiz
5 questions

Framework - Roadmap

2 lectures
Roadmap
07:40
Download Code from here
00:08

Framework - Spotify OAuth2.0

9 lectures
Introduction
03:39
Authorization API Intro
05:31
Register a Client App
01:45
Authorize App
05:22
Fetch Access Token and Refresh Token
04:56
Renew Access Token
03:27
Execute Create a Playlist API
04:02
Execute Get a Playlist API
01:49
Execute Update a Playlist API
02:24

Framework - Automate Tests

4 lectures
Automate Create a Playlist API
10:00
Automate Get a Playlist API
02:36
Automate Update a Playlist API
04:50
Automate Negative Scenarios
05:21

Framework - Create POJOs

4 lectures
Why Refactoring?
02:38
Create POJO Classes
05:38
Update Test Cases to use POJOs
10:56
Builder Pattern with POJOs
02:44

Framework - Create Reusable Methods

3 lectures
Create Spec Builder
04:21
Create Playlist API Reusable Methods
16:03
Create Rest Assured Reusable Methods
06:52

Framework - Token Manager

4 lectures
Renew Token Automatically
08:09
Check Token Expiry
11:02
Create Reusable Method
02:07
Create Reusable Spec
02:03

Framework - Routes

1 lectures
Create Routes
04:31

Framework - Property Loaders

3 lectures
Create Property Loader Utility
04:06
Create Config Loader - Singleton Design Pattern
11:01
Create Data Loader
04:23

Framework - Test Class Refactoring

1 lectures
Optimize Code
08:05

Framework - Lombok

4 lectures
Introduction
03:02
Setup
03:59
Implement without Builder
07:13
Implement with Builder
06:47

Framework - Allure Reporting

11 lectures
Introduction
02:47
Install
04:22
Add Dependency
04:10
Generate Reports
03:30
Add Display Name
02:24
Add Description
01:08
Add Links
04:09
Add Behaviors
02:46
Add Steps
04:14
Add Filter
05:13
Custom Folder Path
02:18

Framework - Maven Command Line

1 lectures
Execute using Maven
04:53

Framework - Important Optimizations

5 lectures
Use OAuth method to supply token
02:10
Java Faker API
08:44
Java Enum to store Status Codes
13:10
Enable Parallel Execution
10:35
Enable for Multiple Environments
06:30

Framework - Integration With GitHub

4 lectures
Create GitHub Repository
03:28
Git Clients - Various Options
03:22
Commit Code to GitHub Repository
08:53
How to Push Subsequent Changes?
03:13

Framework - CI

6 lectures
Install Jenkins on Windows
05:46
Install Jenkins on Mac
05:12
Create Automation Jenkins Job
11:03
Jenkins Auto Trigger: SCM Polling
07:25
Jenkins Auto Trigger: Build Frequency
03:10
Jenkins Auto Trigger: GitHub Web Hooks
10:58

Bonus Lecture

1 lectures
Bonus Lecture - What to learn next?
01:03

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.