| S.No |
Topic |
Sub-Topics |
| 1 |
Introduction to RestAssured |
What is RestAssured?, Features, Benefits, Use cases, API testing overview |
| 2 |
Setting Up RestAssured |
Maven project setup, Gradle setup, Dependency inclusion, IDE setup, Environment configuration |
| 3 |
HTTP Methods |
GET, POST, PUT, DELETE, PATCH |
| 4 |
Basic Request Structure |
Given, When, Then, Headers, Query parameters |
| 5 |
Request Headers & Params |
Content-Type, Authorization, Query parameters, Path parameters, Form parameters |
| 6 |
Request Body |
JSON payload, XML payload, POJO mapping, Multi-part requests, Dynamic data |
| 7 |
Response Validation |
Status code validation, Response body validation, Headers validation, JSON schema validation, Extracting values |
| 8 |
Matchers in RestAssured |
Hamcrest matchers, EqualTo, ContainsString, GreaterThan, Collection matchers |
| 9 |
Path & JSON Parsing |
JsonPath, XMLPath, Extract response data, Nested objects, Arrays handling |
| 10 |
Authentication |
Basic auth, Digest auth, OAuth 1.0, OAuth 2.0, API key |
| 11 |
Logging Requests & Responses |
Log all, Log headers, Log body, Conditional logging, Debugging |
| 12 |
Query & Path Parameters |
Simple parameters, Multiple parameters, Dynamic parameters, Encoding, Validation |
| 13 |
Form & Multi-part Data |
Form parameters, File upload, Multi-part requests, Content type, Validation |
| 14 |
Response Extraction |
Extract as String, Extract as JSON, Extract as XML, Headers, Cookies |
| 15 |
BDD Style Testing |
Given-When-Then, Request specification, Response specification, Assertions, Examples |
| 16 |
Request & Response Specification |
Reusable request spec, Reusable response spec, Base URI setup, Base path, Logging |
| 17 |
Serialization & Deserialization |
POJO mapping, JSON to POJO, XML to POJO, Using Gson, Using Jackson |
| 18 |
Headers & Cookies Handling |
Setting headers, Extracting headers, Cookies management, Validation, Security headers |
| 19 |
Chaining Requests |
Multiple requests, Response to next request, Reusable specs, Dependency handling, Session management |
| 20 |
Dynamic Data & Parameterization |
Data-driven testing, External files, JSON files, Excel files, Random data |
| 21 |
Integration with TestNG |
Annotations, Before/After methods, DataProvider, Assertions, Reporting |
| 22 |
Integration with JUnit |
Setup, Annotations, Assertions, Running tests, Reporting |
| 23 |
Exception Handling |
Handling failures, Try-catch blocks, Logging errors, Validation failures, Debugging |
| 24 |
Logging & Reporting |
Request logs, Response logs, TestNG reports, Extent reports, Custom logging |
| 25 |
Mocking & Stubbing |
WireMock, Mock server, Stub response, Simulate API, Testing edge cases |
| 26 |
API Versioning & Environment |
Base URI, Base path, Environment variables, Multiple environments, Switching environments |
| 27 |
Advanced JSON Handling |
Nested JSON, Arrays, JSONPath expressions, Validation, Dynamic parsing |
| 28 |
Advanced XML Handling |
XPath, Namespaces, Attributes, Node validation, Extracting values |
| 29 |
Hands-on Projects |
CRUD API automation, E-commerce API testing, Authentication API testing, Data-driven API tests, Logging & reporting |
| 30 |
Best Practices & Career Path |
Code organization, Reusable specs, Parameterization, CI/CD integration, Career opportunities |