API Test Automation E-Book for RestAssured & JAVA with Framework Creation from Scratch
₹550+
₹550+
https://schema.org/InStock
inr
Japneet Sachdeva
This E-Book contains extensive knowledge for Learning and Implementing RestAssured with Java Frameworks for API Automation
Major Advantage: After completion of this E-Book, you can add API Test Automation Skill to your resume
Major Skills Gained?:
- Rest Assured
- Java Core Concepts
- Framework setup using BDD & Non BDD style
- Allure Reporting for parallel execution
- Thread Safe Token Manager
- Build Management
- GitHub
- CI - Pipeline setup
- Design Patterns such as Builder, SRP etc.
- Logging setup for Debugging
- Data Driven Testing
- OOP concepts live usage and demo
- Working with Production Live APIs
- Create What Tests not How Tests (Special Technique)
- OAuth 2.0 complete breakdown
- POJO usage and LomBok setup
etc.
In Depth Curriculum Overview:
-
Rest Assured Setup
Setting up Rest Assured for testing -
Serializing Data using Java Class
Converting Java objects to JSON -
HTTP Response Body
Parsing and validating response content -
Assertions in Rest Assured
Validating responses using assertions -
Headers
Handling and manipulating request headers -
Deserializing the Response Body
Converting JSON response to Java objects -
Why Static Keywords in Rest Assured?
The purpose and usage of static keywords -
How does Method Chaining work?
Method chaining principles and benefits -
Hamcrest Matcher Assertion Deep Dive
Advanced usage of Hamcrest for assertions -
Logging Mechanism in Rest Assured
Configuring and capturing logs in tests -
Validation Failure Alternate Mechanism
Handling failures through alternate mechanisms -
BlackListHeaders
Excluding headers from response validation -
Headers Overview
Understanding header usage and purpose -
Send headers using Rest Assured
Including headers in HTTP requests -
2nd way to append Headers
Alternative approach to add headers -
3rd way to send Multiple Headers
Method to include multiple headers in requests -
4th way to Send Multiple Headers
Another technique for multiple header handling -
Using Map
Using a Map to send headers efficiently -
Assert Response Headers
Validating headers in HTTP responses -
Extract Headers
Extracting and using response headers -
Request Specification
Defining request specifications for tests -
Now why do we need Request Specification?
Importance of reusing request specifications -
Non BDD Style Rest Assured Test
Writing Rest Assured tests without BDD style -
RequestSpecBuilder
Building reusable request specifications -
Quiz
Test your knowledge with questions -
ResponseSpecification
Defining reusable response specifications -
ResponseSpecBuilder
Creating response specifications for validation -
Automating Post Request
Automating POST requests with Rest Assured -
Automating PUT Request
Automating PUT requests with Rest Assured -
Automating DELETE Request
Automating DELETE requests with Rest Assured -
Send Request PayLoad in Different Ways
Sending payload via different methods -
1) As a File
Sending request payload as a file -
2) Sending Request body as Object
Sending payload using Java objects -
Send Complex JSON as PayLoad
Handling complex JSON payloads -
Another Complex JSON
Dealing with nested or detailed JSON -
Solution to serialize above JSON
Converting complex Java objects to JSON -
Query Parameters
Adding query parameters in HTTP requests -
Multiple Query Parameters
Sending multiple query parameters efficiently -
Use?
Why and when to use query parameters -
Send Query Param
Sending single or multiple query parameters -
Multi Value Query Parameters
Sending parameters with multiple values -
Path Parameters
Using path parameters for API identification -
Path Parameters are used for Identification
Clarifying the use of path parameters -
Query Parameters are used for Filtration
Using query parameters for data filtering -
Quiz
Knowledge check on path and query parameters -
Form Data PayLoad
Sending form data in requests -
Uploading File
Automating file uploads in API requests -
Downloading File
Automating file downloads using Rest Assured -
Quiz
Test knowledge on form data and file handling -
URL Encoding
Encoding special characters in URLs -
Common characters that need encoding
Special characters requiring URL encoding -
JSON Schema
Validating response using JSON Schema -
Code for Rest Assured
Sample Rest Assured test code -
Printing Logs to a File
Logging responses to external files -
Serialization & Deserialization
Converting Java objects to/from JSON -
More Details about Serialization
In-depth look at Java object serialization -
More Details about Deserialization
Understanding deserialization of JSON to objects -
Serialize Map to JSON Object
Converting Java Map to JSON -
Serialize Object Node to JSON Object
Serializing complex object nodes to JSON -
Explanation and use of ObjectMapper
How to use ObjectMapper for JSON conversion -
POJO
Using POJO for object mapping in Rest Assured -
Serialization using POJO
Converting POJOs to JSON for requests -
Actual Test Code
Sample code demonstrating POJO serialization -
Interview example
Example of serialization in interviews -
Deserialization using POJO
Converting JSON response to POJOs -
Nested Json Serialization & Deserialization
Handling complex nested JSON in APIs -
Parameterizing POJO Tests
Dynamically parameterizing POJO-based tests -
QUIZ
Test knowledge on serialization and POJOs -
Assignment
Practice tasks for serialization and deserialization -
Jackson DataBind Annotations
Using Jackson annotations for JSON binding -
Cookies
Handling cookies in Rest Assured tests -
Different Types of Cookies
Various cookie types in web APIs -
How does a cookie look?
Understanding the structure of cookies -
Sending Cookie
Sending a cookie in API requests -
Sending cookie, using cookie builder
Building and sending cookies in tests -
Sending Multiple Cookies
Sending multiple cookies in a request -
Fetch a Single Cookie from Response
Extracting a specific cookie from responses -
Fetch Multiple Cookies from Response
Extracting all cookies from responses -
Important
Key considerations for handling cookies -
Authentication & Authorization
Handling authentication and authorization in APIs -
Basic Authentication
Implementing basic authentication in APIs -
Digest Authentication
Implementing digest authentication in APIs -
API Key Authentication
Using API keys for secure requests -
OAuth
Implementing OAuth authentication in APIs -
Api Automation Framework
Framework for automating API tests -
API
Overview of the API used in the framework -
Framework Goals
Defining the objectives of the API framework -
Framework Structure Overview
High-level structure of the automation framework -
OAuth 2.0 Setup for Spotify API
Configuring OAuth 2.0 for Spotify API automation -
Scope
Understanding OAuth scopes for Spotify API -
Authorization Process
Steps for authorizing Spotify API access -
Authorization Code Grant Flow
OAuth grant flow for user authentication -
Setup App
Setting up Spotify app for API testing -
Authorize App
Authorizing Spotify app for API access -
Access & Refresh Token
Managing access and refresh tokens -
Refresh Access Token
Re-generating access tokens when they expire -
Create PlayList API
Automating Spotify playlist creation API -
Get Playlist API
Automating the retrieval of Spotify playlists -
Update Playlist API
Automating playlist updates via Spotify API -
Automate Spotify API Request
Automating various Spotify API requests -
Project code
Sample code for Spotify API automation -
1) Create PlayList
Automating the creation of a new playlist -
2) Get PlayList
Automating retrieval of a Spotify playlist -
3) Update Playlist
Automating playlist updates via API -
Negative scenarios
Handling errors and edge cases in APIs -
Refactoring code
Improving the structure and maintainability -
Updated Code for all Tests
Refactored code for Spotify API tests -
Builder Pattern
Using the builder pattern for test automation -
SpecBuilder Class
Creating reusable specifications with SpecBuilder -
Project Structure
Overview of the project folder structure -
PlayListApi Class
Class to handle Spotify playlist API requests -
2nd Abstract Layer
Creating an abstract layer for better reusability -
Updated PlaylistApi Class
Improved version of Playlist API handler -
Now how do the final Tests work?
Explanation of final test execution flow -
Token Manager
Managing OAuth tokens for Spotify API -
Code
Token management code sample -
Explanation
Detailed explanation of token management process -
Refactoring Code
Improving token handling and API calls -
Constants
Using constants for token values and more -
Configuration
Configuring API settings and variables -
Project Structure
Updated project structure after refactoring -
Refactoring Test Methods
Cleaning up and optimizing test methods -
Updated Tests
Final test cases after refactoring -
Lombok
Using Lombok annotations for cleaner code -
Install Lombok Plugin to your IntelliJ IDE
Setting up Lombok in IntelliJ for ease of use -
Builder Pattern
Applying builder pattern for code flexibility -
For interviews
Key points for discussing Lombok and builder pattern -
Allure Reporting
Integrating Allure reports into test automation -
Setup with TestNG
Configuring Allure reporting for TestNG framework -
Customize Allure Reports
Customizing Allure report presentation -
Adding Request & Response Payload to Allure Report
Including payload details in Allure reports -
Custom Folder for Allure Reports
Defining a specific folder for report storage -
Folder Structure
Organizing folders for better report management -
Maven Execution
Running Allure reports via Maven -
Refactoring Code
Improving code structure for Allure integration -
OAUTH2
Detailed discussion on OAuth2 implementation -
Using Java Faker
Using Java Faker to generate random data for tests -
Status code abstraction
Handling and abstracting HTTP status codes -
Parallel Execution
Running tests in parallel for faster execution -
Also note
Additional important points on test parallelization -
Parallel support
Ensuring your framework supports parallel execution -
GitHub
Using GitHub for version control in your project -
OAUTH2 Setup
Setting up OAuth2 for API authorization -
Using Java Faker for Test Data
Generating dynamic test data using Java Faker -
Status Code Abstraction in Tests
Abstracting HTTP status codes for reusability -
Parallel Execution of Tests
Configuring and managing parallel test runs -
Parallel Execution: Key Considerations
Important factors when running tests in parallel -
Parallel Support in Framework
Ensuring framework scalability for parallel testing -
GitHub Integration for API Automation
Utilizing GitHub for version control in API tests -
Allure Reporting in GitHub Actions
Setting up Allure reports in GitHub workflows -
Version Control in API Framework
Managing version control with GitHub in your framework -
Refactoring for Code Reusability
Enhancing code structure for better reusability -
Using Constants in Tests
Implementing constants to improve test stability -
Token Manager for OAuth Automation
Automating token management for OAuth APIs -
Managing Access & Refresh Tokens
Handling tokens for long-running test scenarios -
Refactoring Test Code for Maintainability
Ensuring that test code is modular and maintainable -
Lombok in API Automation Framework
Utilizing Lombok to reduce boilerplate code in Java -
Generating Custom Reports
Creating customized reports for API tests -
Adding Logs to Allure Reports
Including detailed logs in Allure for better traceability -
Folder Structure for Test Reports
Structuring directories for storing and accessing reports -
Project Structure Best Practices
Organizing project files and directories effectively -
Handling API Key Authentication
Implementing and managing API key authentication in tests -
Builder Pattern for Flexible Test Code
Using builder pattern for test case flexibility -
Quiz: Testing Knowledge
Assess your knowledge with this API testing quiz -
Automating Spotify API Request
Step-by-step guide for automating Spotify API requests -
Code Refactoring for Spotify API Tests
Enhancing test code for better reusability -
Abstracting API Requests for Spotify
Creating abstract layers for handling Spotify API requests -
Token Management in Spotify API Automation
Automating the token handling process in Spotify API -
Spotify API: Access & Refresh Tokens
Managing token lifecycle for continuous test execution -
Creating Playlists via Spotify API
Automating the creation of playlists using Spotify's API -
Getting Playlist Data via Spotify API
Automating the retrieval of playlist details -
Updating Playlists via Spotify API
Automating the update of Spotify playlists -
Handling Negative Test Scenarios
Managing error cases and unexpected responses -
Refactoring Code for Spotify API Tests
Improving the structure and maintainability of Spotify tests -
Using Jackson for JSON Serialization
Serializing and deserializing JSON using Jackson library -
Nested JSON Handling with Jackson
Managing complex, nested JSON structures in tests -
Jackson DataBind Annotations for Serialization
Utilizing Jackson annotations for efficient JSON handling -
Uploading and Downloading Files in API Tests
Automating file uploads and downloads in Rest Assured tests -
Handling Query and Path Parameters
Passing parameters effectively in API requests -
Form Data Payload in REST APIs
Sending form data in API requests using Rest Assured -
Handling Multi-Value Query Parameters
Managing multiple values in query parameters -
Assertions in Rest Assured: Deep Dive
Advanced techniques for performing assertions -
Logging Mechanism in API Tests
Capturing detailed logs for debugging and validation -
Using Maps for Headers and Payloads
Simplifying headers and payloads using Java Maps -
Deserializing Complex JSON Responses
Handling complex JSON responses with Rest Assured -
Serializing Java Objects into JSON
Converting Java objects to JSON format for requests -
HTTP Response Body Handling
Parsing and validating HTTP response bodies -
Serializing and Deserializing with POJOs
Using POJOs for serialization and deserialization in tests -
Assertions with Hamcrest Matchers
Using Hamcrest matchers for advanced assertions -
Quiz: Serialization & Deserialization
Test your knowledge on serialization techniques -
Assignment: Serialization and API Testing
Practice serialization and deserialization with this assignment -
Quiz: Path and Query Parameters
Test your understanding of parameter handling in APIs -
OAuth 2.0 Setup for API Automation
Setting up OAuth 2.0 in automated API testing -
Framework Structure for API Automation
Overview of the framework structure for API tests -
Refactoring Framework Code
Making improvements to the API automation framework -
Allure Reporting Customization
Enhancing Allure reports for better presentation -
Setting up Allure Reports with Maven
Configuring Maven to generate Allure reports -
Maven Execution for Test Automation
Running automated tests via Maven and generating reports -
Token Management in OAuth Automation
Efficiently managing tokens in OAuth-secured APIs -
Status Code Validation in API Tests
Abstracting and validating HTTP status codes in tests -
Status Code Abstraction in API Framework
Abstracting status codes for reusable validation -
Parallel Execution in API Tests
Running API tests concurrently for efficiency -
Handling Cookies in API Testing
Managing cookies in API requests and responses -
Sending Multiple Cookies in API Requests
How to send and manage multiple cookies in requests -
Fetching Single Cookie from Response
Extracting and validating a single cookie from the response -
Fetching Multiple Cookies from Response
Extracting and validating multiple cookies in responses -
Sending Cookie using CookieBuilder
Building and sending cookies with Rest Assured’s CookieBuilder -
Authentication in API Testing
Handling authentication types like Basic, Digest, and OAuth -
Basic Authentication in Rest Assured
Automating basic authentication with Rest Assured -
Digest Authentication in Rest Assured
Automating Digest authentication using Rest Assured -
API Key Authentication
Implementing and validating API key authentication in tests -
OAuth Authentication in API Testing
Setting up and automating OAuth-based authentication -
Automating Post Request in API Tests
Sending POST requests in automated API tests -
Automating PUT Request in API Tests
Automating PUT requests for updating resources -
Automating DELETE Request in API Tests
Deleting resources in API automation using Rest Assured -
Request Specification in Rest Assured
Reusing request specifications for API tests -
Response Specification in Rest Assured
Setting up reusable response specifications in tests -
Logging in API Requests and Responses
Capturing detailed logs for debugging API tests -
Printing Logs to File in API Automation
Redirecting logs to files for better traceability -
Query Parameters in Rest Assured
Sending and validating query parameters in API requests -
Path Parameters in Rest Assured
Handling and validating path parameters in API requests -
Form Data Payload in REST API Requests
Sending form data in API requests using Rest Assured -
Sending Complex JSON as Payload
How to send complex JSON structures as API request payloads -
Nested JSON Serialization and Deserialization
Handling nested JSON structures in API requests and responses -
Serializing Java Objects to JSON
Converting Java objects to JSON format for API requests -
Deserializing JSON to Java Objects
Parsing JSON responses into Java objects in tests -
Using POJOs in Rest Assured Tests
Leveraging POJOs for efficient API testing -
Handling Multiple Query Parameters
Sending and validating multiple query parameters in requests -
Uploading Files via API Requests
Automating file uploads in API tests using Rest Assured -
Downloading Files via API Requests
Automating file downloads in API tests using Rest Assured -
URL Encoding in API Requests
Encoding URLs to handle special characters in API requests -
Handling Authentication in API Tests
Implementing various authentication methods in tests -
Allure Reporting for API Tests
Integrating Allure reporting into API automation projects -
Customizing Allure Reports
Tailoring Allure reports for better readability and detail -
Storing Test Data in Allure Reports
Logging request and response data in Allure reports -
Running API Tests via Maven
Executing API tests using Maven and generating reports -
Refactoring Code for Better Test Design
Refactoring test automation code for maintainability -
Hamcrest Matchers for API Assertions
Using Hamcrest matchers to write flexible assertions in API tests -
RequestSpecBuilder for Modular Requests
Simplifying API requests using RequestSpecBuilder -
ResponseSpecBuilder for Modular Responses
Creating reusable response specifications using ResponseSpecBuilder -
Builder Pattern in Test Automation
Implementing the builder pattern for scalable test design -
Extracting Headers from API Responses
Fetching and validating headers in API responses -
Assertions on Response Headers
Validating headers in API responses with assertions -
Deserializing Complex Responses
Parsing and validating complex API responses -
Logging Mechanisms in API Tests
Capturing logs for debugging and test transparency -
Using Maps to Send Headers
Sending HTTP headers as a Map in API requests -
Serializing Data using Java Classes
Converting Java objects into request payloads for API tests -
Validating JSON Schema in API Responses
Verifying that responses adhere to a predefined JSON schema -
Extracting Data from JSON Responses
Parsing and extracting data from JSON responses in API tests -
Hamcrest Matchers Deep Dive
Advanced usage of Hamcrest matchers for complex assertions -
Form Data Payload Handling in Rest Assured
Submitting form data payloads in API requests -
Sending Multiple Cookies in API Requests
Sending multiple cookies in Rest Assured API automation -
Fetching Single Cookie from API Response
Extracting a single cookie from the API response -
Fetching Multiple Cookies from API Response
Extracting multiple cookies from the API response -
OAuth 2.0 Authorization Code Grant Flow
Implementing the OAuth 2.0 Authorization Code Grant Flow -
Spotify API OAuth 2.0 Setup
Automating OAuth 2.0 for Spotify API requests -
Spotify API Playlist Automation
Automating playlist creation, updates, and retrieval via Spotify API -
Testing Negative Scenarios in Spotify API
Handling negative cases in Spotify API automation -
Refactoring Spotify API Test Code
Improving maintainability and structure of Spotify API tests -
Handling Token Expiration in OAuth 2.0
Automating token refresh for long-running API tests -
Create PlayList Using Spotify API
Automating playlist creation via Spotify API requests -
Get Playlist Details Using Spotify API
Retrieving playlist details using Spotify API automation -
Update Playlist Using Spotify API
Updating playlist information through Spotify API requests -
Refactoring Spotify API Automation Code
Enhancing the design of Spotify API automation tests -
Handling Multiple Headers in API Requests
Sending and validating multiple headers in API requests -
Sending Query Parameters in API Requests
Passing and validating query parameters in Rest Assured requests -
Automating API Key Authentication
Implementing API key-based authentication in tests -
OAuth 2.0 Setup for Web Applications
Automating OAuth 2.0 flow for web-based APIs -
Managing OAuth Tokens in API Tests
Storing and refreshing OAuth tokens in automated tests -
Query Parameters for Filtering Data in APIs
Using query parameters to filter data in API requests -
URL Encoding in API Testing
Handling special characters in URLs using encoding -
JSON Schema Validation in API Responses
Validating JSON schema of API responses using Rest Assured -
File Uploads via API Requests
Automating file uploads using Rest Assured in API tests -
File Downloads via API Requests
Automating file downloads in API automation using Rest Assured -
Parallel Execution in API Tests
Running API tests in parallel to improve test efficiency -
CI/CD Pipeline for API Automation
Integrating API tests into CI/CD pipelines -
Handling Response Status Codes in APIs
Validating and managing response status codes in tests -
Response Body Validation in API Tests
Asserting and verifying the API response body -
Asserting Response Time in API Tests
Validating the response time of API requests -
Handling Authentication Failures in APIs
Managing authentication failures in automated tests -
OAuth 2.0 Access Token Automation
Automating the generation and usage of OAuth 2.0 access tokens -
Serializing Java Objects for API Requests
Converting Java objects to JSON for API requests -
Deserializing JSON Responses to Java Objects
Parsing JSON responses into Java objects in Rest Assured -
Managing HTTP Headers in API Requests
Sending and validating headers in Rest Assured API requests -
Handling API Response Headers
Extracting and validating headers in API responses -
Assertions on Response Headers in APIs
Writing assertions to validate response headers -
Logging API Requests in Rest Assured
Capturing logs for API requests for debugging purposes -
Logging API Responses in Rest Assured
Capturing logs for API responses for better debugging -
Allure Reporting for Rest Assured Tests
Generating detailed Allure reports for API automation tests -
Customizing Allure Reports in API Testing
Tailoring Allure reports to enhance API test reports -
OAuth 2.0 Token Refresh Mechanism
Automating token refresh for OAuth 2.0 in API tests -
Managing API Keys in Rest Assured Tests
Implementing API key management in automated API tests -
OAuth 2.0 Token Management for APIs
Handling OAuth 2.0 tokens in Rest Assured automation -
Parameterized API Tests in Rest Assured
Running parameterized API tests with Rest Assured -
Handling Multi-Value Headers in API Requests
Sending and validating multi-value headers in requests -
Hamcrest Matchers for Flexible Assertions
Writing flexible assertions using Hamcrest matchers in tests -
Validating Response Time in API Automation
Asserting and optimizing response time in automated tests -
Creating Dynamic Requests in API Tests
Building dynamic API requests with parameterized inputs -
Handling Form Data in API Automation
Automating form data submission in API tests -
Path Parameters in API Testing
Managing and validating path parameters in automated tests -
Handling Different Authentication Types in APIs
Implementing and validating different authentication mechanisms -
OAuth 2.0 Authorization Code Flow
Automating the OAuth 2.0 authorization code grant flow -
API Test Automation Framework Design
Designing scalable and maintainable API automation frameworks -
Refactoring API Test Code for Maintainability
Refactoring automation code to improve maintainability -
Test Data Management in API Automation
Managing test data for API automation tests -
Builder Pattern in API Automation Frameworks
Using the builder pattern for cleaner test design -
Using RequestSpecBuilder in API Automation
Simplifying request creation using RequestSpecBuilder -
ResponseSpecBuilder for Modular API Tests
Streamlining response validation using ResponseSpecBuilder -
Handling Complex Payloads in API Automation
Automating API tests with complex JSON payloads -
Testing Error Scenarios in API Automation
Validating error responses and failure scenarios in tests -
Mocking API Responses in Automation
Using mocks to simulate API responses in test scenarios -
Validating OAuth Token Expiration Handling
Automating token expiration handling in OAuth-based APIs -
Managing Environment Variables in API Tests
Using environment variables for dynamic API testing -
Assertions on JSON Fields in API Responses
Asserting specific JSON fields in API responses -
Handling Authentication in Multi-Step API Tests
Managing authentication across multi-step API test cases -
Managing Rate Limiting in API Tests
Automating tests to handle and validate API rate limiting -
Versioning in API Test Automation
Handling and testing API versioning in automated tests -
Retry Mechanism for Flaky API Tests
Implementing retry logic for unreliable or flaky API tests -
Request Timeout Handling in API Tests
Managing and asserting request timeouts in API automation -
Integrating Rest Assured with CI Tools
Integrating Rest Assured API tests into CI tools like Jenkins -
Optimizing API Test Execution Time
Techniques to reduce the execution time of API tests -
Handling Dynamic Tokens in API Testing
Managing and validating dynamic tokens in automated tests -
API Test Framework Using Rest Assured
Building an API test framework using Rest Assured from scratch -
Parameterized API Tests in Cucumber
Running parameterized API tests using Cucumber with Rest Assured -
Sending Dynamic Headers in API Requests
Automating the process of sending dynamic headers in requests -
OAuth Token Refresh in API Automation
Automating token refresh for OAuth-based APIs -
Hamcrest Matcher Deep Dive for API Testing
Advanced usage of Hamcrest matchers for complex assertions -
Managing JSON Schema Validation in Tests
Validating response structure using JSON Schema in Rest Assured -
Handling API Failures in CI/CD Pipeline
Managing test failures in CI/CD pipelines for APIs -
Automating PUT and DELETE Requests
Automating HTTP PUT and DELETE requests using Rest Assured -
Allure Reporting in API Test Automation
Generating Allure reports for API test automation suites
Pages
170
Add to wishlist
Share
Ratings
2
3.5
5 stars
50%
4 stars
0%
3 stars
0%
2 stars
50%
1 star
0%