
Explore api automation with rest assured and Java, covering web services basics, Java programming, Maven setup, json formats, http methods, Excel handling, reporting, and Jenkins integration.
Set up java on windows by installing the Java Development Kit (JDK) and Java Runtime Environment (JRE), and verifying the installation. Configure JAVA_HOME and PATH, then confirm with java -version.
Set up Eclipse on Windows to write and execute Java code in an integrated development environment, selecting the Java EE package and creating a desktop shortcut.
Set up a java project in Eclipse as a Maven project, add Rest Assured and TestNG dependencies, and configure pom.xml to enable REST API automation with a GET request example.
Practice three apps: a localhost app via npm, a server-deployed app, and Jita API for bug tracking with authentication; learn to call endpoints and perform get, post, and delete.
Understand web services as applications-to-applications communication over the internet. Access them via programming rather than direct user interfaces, and note the server deployment and behind-the-scenes usage by third-party apps.
Explore how web services let apps like MakeMyTrip and Trivago access airline and hotel data through programming interfaces, aggregating responses behind the scenes for end users.
Discover how web services enable platform- and language-independent communication via standard data exchanges like JSON or XML, enabling easy, fast multi-application integration across devices.
Explore the difference between web services and APIs, including network dependence, deployment as libraries or local files, and communication formats like json and xml.
Explore microservices architecture as a modular alternative to monolithic APIs, enabling separate deployment for each module and reduced downtime while maintaining API testing practices.
Learn how to use common rest api methods to fetch, add, update, and delete data in api testing, focusing on get, post, put, and delete.
Identify prerequisites for API testing by gathering a requirements document and API endpoints. Understand the simple JSON payload, mandatory fields, and headers such as authentication before testing.
Explore postman, a free automation tool for testing rest and soap apis, available as a chrome extension or standalone app, with collections, header and body customization, and response verification.
Install Postman as a standalone Windows application or as a Chrome extension, register to sync and share collections across devices, and back up data for team collaboration.
Explore the Postman window with a walkthrough of authorization options, headers, body, and pre-request scripts in JavaScript. Learn to use history, collections, environments, and global variables for API testing workflows.
Master a basic get request to fetch student data from a rest api using Postman, passing an id in the url or fetching all students, then validate responses manually.
Demonstrates posting a new student via the student management api using postman, with a json payload, and validates with a 201 status and a follow-up get request.
Update student data using a put request with RestAssured and Java, passing the id in the url and the updated payload in json to verify changes with a follow-up get.
Perform a delete request to remove a student by passing the id as a URL parameter, then validate the response and verify deletion by a follow-up get.
Execute an end-to-end api test using postman that creates a new student, fetches and validates data with get, updates it, re-fetches, then deletes it for verification.
Apply automated validations in Postman for API requests by checking status codes, response times, and response body data across post, get, put, and delete operations.
Learn to validate response headers in API automation, ensuring headers like content type, server, and authentication exist and validating header values with RestAssured and Java.
Learn to validate multiple acceptable status codes in API responses using RestAssured. Use JSON path value checks to assert exact fields like last name and date of birth.
Explore the Eclipse environment with a walkthrough. Learn how to set up a workspace, create a Java project and package, switch perspectives, and use the Package Explorer and Editor windows.
Kick off Java programming in Eclipse by creating a Java project, organizing code into packages and subpackages, and writing classes in .java source files.
Define classes, variables, and constants in Java, and learn data types like int, float, boolean, and char; declare values, use comments, and respect class boundaries in Eclipse.
Explore Java classes, methods, and variables; learn to define public methods, create and use objects, and call methods across packages via import statements.
Master Java methods with no-argument, argument-taking, and return-value variants, then build reusable, dynamic functions that compute and return results.
Explore constructors in Java: their name matches the class, they never return a value, and they are automatically invoked when creating objects. They can accept different arguments.
Discover how constructors initialize test setups by starting the browser and opening the URL before tests, reducing duplication and ensuring prerequisites are met.
Read user input at runtime in Java with the Scanner and nextLine to capture console string data, then parse int to perform calculations and understand concatenation issues.
Master simple condition handling with if-else in Java automation, including checking even or odd numbers, and preview how to extend to multiple conditions in later lessons.
Explore handling multiple conditions with if, else if, and else by building a method that takes an integer and prints negative, zero, or even/odd when positive.
Explore advanced condition handling using logical and and or in Java, building if-else blocks to test divisibility by five and seven, and distinguish and vs or behavior with examples.
Master nested conditions by first checking that a number is greater than zero, then determining even or odd; nesting can go to any depth in Java.
Master Java for loops by learning syntax, initialization, and increment with practical examples like printing hello ten times, building tables, and forward or reverse iteration.
Learn the while loop in Java by converting a for loop, understanding initialization, condition, and increment; use while for unknown iterations or increments, achieving the same tasks as for loops.
Explore the do-while loop and its exit-controlled behavior, contrasting it with for and while loops. Learn the syntax and when a do-while executes at least once before condition checks.
Explains the for-each loop as an advanced way to traverse a group of data stored under a single name, and contrasts it with the traditional for loop.
Master nested loops by implementing a loop inside another loop, with an outer loop from 1 to 5 and an inner loop from 1 to 4, printing values accordingly.
Explore string handling in Java by treating string as a predefined class, creating objects, and using common methods like length, trim, toUpperCase, and toLowerCase, with indexing and bounds errors.
Learn string handling in Java, including replace operations, concatenation, substring extraction, contains checks, and splitting into words, with practical length-based counts.
Compare two strings with four methods: equals, equalsIgnoreCase, compareTo, and compareToIgnoreCase, covering case sensitive and case insensitive results, and understand why equals targets objects while compareTo returns zero or nonzero.
Master arrays in Java by storing multiple integers, accessing and updating values by zero-based index, and using array length to loop safely while avoiding eddy index out of bounds exception.
Create and manipulate a two dimensional array in java by organizing data into rows and columns. Use nested loops to fetch and print values by row and column indexes.
Learn file handling in Java by reading from and writing to external files, using a file reader, handling exceptions, and executing character-by-character reads to support data-driven tests.
Learn how a buffered reader reads a file line by line in Java with readLine and a while loop, efficiently handling end-of-file (null) and avoiding extra conversions.
Master writing data to a file in Java using file writer and buffered writer, exploring overwrite and append modes, newline handling, and closing the file.
Learn to write to a file using buffered writer, appending lines and inserting new lines to write data line by line, and understand the content writing behavior in file handling.
Inheritance transfers parent class properties to a child class, enabling code reuse, reducing duplication, and allowing the child to access parent methods while adding new ones via extends.
Explore single inheritance in Java, where a subclass extends a parent and can call both its own and the parent methods. The lecture contrasts direct versus indirect inheritance via interfaces.
Explore multilevel inheritance in Java by building classes A, B, and C to demonstrate how a C object can access A and B methods through successive inheritance.
Explore hierarchical inheritance in Java, where a single parent class supports multiple child classes. See how classes B and C extend A, demonstrating parent-to-multiple-children relationships.
Explore polymorphism in Java, where a method name behaves differently with inputs and objects. Learn how overloading and overwriting implement this concept with examples like plus operator and substring.
Explore overloading in Java, where multiple methods share a name but differ in signature by argument count or types, enabling compile-time polymorphism.
Override allows a child to redefine a parent method with the same name and signature, enabling runtime polymorphism through late binding. The child’s version executes when available.
Explore abstraction in java, including concrete vs abstract methods and classes, data hiding, and enforcing architecture through abstract base classes and method overriding in team workflows.
Explore Java interfaces, including constants and abstract methods, and learn to implement interfaces to achieve 100 percent abstraction while comparing with abstract classes.
Discover how to achieve multiple inheritance in Java using interfaces, by creating a class E, an interface B, and a class C that extends E and implements B.
Explore how hybrid inheritance can be implemented in Java using interfaces, detailing when to extend or implement, and how abstract methods transfer to classes and interfaces.
Explore how public, private, default (package) and protected access modifiers control access to class members across packages, and learn how public members remain accessible throughout a project.
Learn how the private modifier restricts access to class members, allowing private methods to be called only within the same class, while public methods enable external access indirectly.
Learn how the default, or package, access modifier in Java restricts access to members within the same package.
Explain how the protected modifier controls access within the same package and in a subclass across packages.
Explore top-level class access in Java: only public or default modifiers apply to classes; private and protected do not. A default class restricts access to the package.
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.
REST stands for REpresentational State Transfer. REST is web standards based architecture and uses HTTP Protocol for data communication.
In REST architecture, a REST Server simply provides access to resources and REST client accesses and presents the resources.
What topics are covered in this course?
API Basics
JSON & JSON Path
End to End Setup
Java Programming Basics
Complex POJO Example
Full JSON body matching
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 - JSON Schema Validation
Rest Assured - Logging Filters
Rest Assured - Configs
TestNG Basic to Expert
Collections
Serialization & De-serialization: POJOs
HashMap to JSON object
ArrayList to JSON array
Complex POJO Example
Full JSON body matching
Framework Development->
BDD Framework with Features
Scalable Framework Structure
Configurations
Reporting
Automate positive and negative scenarios
Data driven using TestNG Data Provider
Cucumber Implementation
Best Practices
Property and Configuration
Integration with Git
Integration with Jenkins
Tool, Library & Technology
Eclipse
Rest Assured
TestNG
Cucumber
Reporting
Java
Allure Reports
Outcome of this course
1. Expertise in Java Programming
2. Expertise in API Concepts
3. Able to design End to End API Automation Framework
4. Ready to face Automation interviews