REST Assured API Automation from scratch + Framework + CI
What you'll learn
- 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
- ***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***
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 ->
Postman Mock Server
Java Programming Basics
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 ->
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
Who this course is for:
- In general, this course is for anyone really looking to gain a true and in-depth understanding of Rest Assured and REST API automation
- This course is designed for any QA Engineer looking to acquire API automation skills without any prior knowledge
- Take this course if you are an automation engineer looking to lead API automation effort single handedly from scratch
- Take this course if you are looking to learn how to design and implement a production level API automation framework and integrate with CI
- Take this course if you are a software developer looking to automate Rest APIs using Rest Assured
Hi! I'm Om. I'm a Test Automation Lead who loves automating and testing software.
I've been working in Software Testing and and Test Automation for more than a decade. I love automating stuff and I'm very passionate about spreading knowledge through teaching.
Being a self learner, I know how hard it is to learn something new or to improve on skills, especially in case of test automation where in you will face a lot of challenges in finding a credible, well organized, good quality content online.
My more than a decade of experience in testing has really helped me to create the most relevant content and topics.
My Appium course is the most loved course on this platform and it has received a lot of 5 star reviews from my students.
This is the most rewarding experience and a huge motivation to create more and more courses to offer you the best learning experience possible.
I can't wait to see you inside my courses!