
Five-step course on api automation with rest-assured and java. Learn api basics, optional java refresher, maven setup, json formats, and code management with jenkins for one-click execution.
Understand web services as machine-to-machine communication that exposes business logic behind applications, unlike web-based apps designed for end users. Learn how programming accesses these services behind the scenes.
Explore how web services expose functionality via programming interfaces, using make my trip to aggregate airline services for end users. Learn how this architecture enables cross‑application communication and data flow.
Discover how web services enable platform-independent and language-independent XML data exchange, enabling easy integration across web, mobile, and future devices, unlike traditional web-based applications.
Explore the key differences between APIs and web services, including network dependency, deployment as local libraries or server components, and formats like SOAP, REST, XML-RPC, and JSON.
Compare soap and rest: soap is a heavy-weight protocol using xml and wsdl, while rest is a lightweight architectural style using http with flexible formats like json.
Discover microservice architecture and why companies shift from a monolithic architecture. Learn how separate modules become independent deployments, with REST APIs and testing.
Understand UDDI as the universal description, discovery and integration registry for web services, enabling providers to register and users to search for services.
Install and configure the Java Development Kit on a Windows machine, verify installation with java -version, and set JAVA_HOME and PATH to enable Java development for API automation.
Learn to install Eclipse and set up a Java development environment for writing and running code, choosing the Java IDE and configuring Maven.
Set up a Java project in Eclipse, convert it to Maven, add Rest Assured and testing dependencies, and write a basic get request test to fetch the API response.
Set up three practice applications for API automation: a local app, a server-deployed app, and Jira for bug tracking, using npm and JSON server to explore API endpoints.
Explore Eclipse basics by navigating the workspace and perspectives, creating a Java project and packages, and using the package explorer and editor to manage test automation code.
Start a Java project in Eclipse, set up the workspace, and begin coding. Organize code into packages and subpackages with source files, using standard naming conventions for packages and classes.
Learn to define variables and constants in java, within a class, including data types like int, float, boolean, char, and string, and use comments and semicolons for clean automation code.
explore how to define a class, declare variables and constants, and create and call methods using objects and packages in java, including main method execution and imports.
Learn about methods in Java: no-argument, argument-taking, and argument with return values; use dynamic inputs and reusable designs like separate addition and multiplication methods.
This lecture explains constructors as methods named after the class, which never return a value and are automatically invoked when objects are created; they can be overloaded with different arguments.
Learn how constructors initialize a class by starting the browser and setup tasks automatically, avoiding code duplication and ensuring prerequisites before running tests.
Learn to take user input at runtime in Java using a scanner for console input, reading with nextLine, and converting with Integer.parseInt.
Learn simple condition handling with if and else in Java, check even or odd numbers by dividing by two and using the remainder, and apply two-condition logic for automation tasks.
Explore how to handle multiple conditions using if, else if, and else in Java, including negative, zero, positive, and even/odd checks, with a practical exercise.
Explore condition handling using logical or and logical and in Java, building methods to test divisibility by five and seven and differentiate not divisible outcomes.
Learn how to implement nested conditions in Java, evaluating numbers greater than zero, then even or odd, while skipping output for negatives, with multiple nesting levels.
explains for loops in Java, using initialization, condition, and increment to run a task multiple times, including forward and reverse loops, with examples like printing hello and a multiplication table.
Demonstrate the while loop syntax, including start before the loop, condition checks, and increment or decrement in the body, and compare with the for loop.
Explains the do-while loop as an exit-control structure in Java, showing how it executes the body first and then checks the condition, compared with for and while loops.
Learn how to use the for each loop—the advanced for loop for a group of data stored under a single name—and understand when indexing is needed.
Explain nested loops by showing an outer loop from one to five and an inner loop from one to four, where the inner loop runs completely for each outer iteration.
Explore string handling in Java by treating strings as a class, creating objects, and using key methods like length, trim, toUpperCase, toLowerCase, and index access.
Master string handling in Java with replace, substring, split, and concat. Learn contains checks and length-based counts to analyze characters and build test data.
Learn to compare two strings in Java using equals, equalsIgnoreCase, compareTo, and case conversions like toUpperCase to perform case sensitive and case insensitive comparisons.
Explore arrays in Java by creating, indexing, and accessing elements, using length, handling index out of bounds exceptions, updating values, and looping through arrays with initialized and uninitialized approaches.
Explore two-dimensional arrays in Java by creating a 2x4 matrix, filling it with row and column values, and printing all elements with nested loops.
Explains file handling in Java, reading data from an external file using a FileReader character by character, looping until end of file, and handling exceptions for robust automation tests.
Learn to read a file efficiently with BufferedReader, using readLine in a loop until end of file (null), avoiding per-character conversion and unnecessary overhead.
Utilize a file writer to write data to a file in Java, creating the file if missing and supporting overwrite and append modes via one- and two-argument constructors.
learn how to use BufferedWriter with FileWriter to write data line by line, including append mode, newline handling, and file handling concepts.
Understand encapsulation as wrapping data and methods in a single unit within a boundary in java, using private variables and public getters and setters to hide data and control access.
Showcase inheritance by transferring properties from a parent to a child class with extends, enabling method reuse, reduced code duplication, and accessible parent methods.
Explore single inheritance in Java, show how a child class accesses parent methods, and note that multi-level, hierarchical, multiple, and hybrid types are handled indirectly via interfaces.
Explore multilevel inheritance in Java by creating A, B, and C where B extends A and C extends B, and demonstrate accessing parent methods through objects from A to C.
Learn hierarchical inheritance in Java by modeling a parent class A with child classes B and C, and observe how they inherit and call parent methods.
Explore polymorphism by seeing how the same name can behave differently with different inputs, through overloading and overwriting, and understand how a method executes based on the object in Java.
Explore Java overloads as a form of compile-time polymorphism, using the same method name with different signatures—varying argument counts or types—while return type does not affect overloading.
Learn how overriding enables runtime polymorphism in java by implementing the same name and signature in a child class to customize behavior, illustrating late binding and parent–child inheritance.
Explore abstraction and data hiding in Java, distinguishing concrete and abstract methods and classes. See how abstract methods enforce architectural rules and prevent instantiation, guiding implementation.
Explore Java interfaces and their role in abstraction, showing that interfaces declare only abstract methods and constants, are implemented with implements keyword, while abstract classes mix abstract and concrete members.
Learn how to achieve multiple inheritance in Java using interfaces, since Java restricts multiple class inheritance, and implement an interface in a class to combine behavior.
Learn how to implement hybrid inheritance in Java using interfaces, with interfaces extending other interfaces and classes implementing abstract methods to form a D class.
Explore Java access modifiers, focusing on the public modifier and how public class members are accessible across packages, via imports and object creation.
Learn how the private modifier restricts access to within the class and see how public methods can invoke private members while external access remains blocked.
Explore the default (package) access modifier in Java, demonstrating that members are accessible within the same package but not visible outside it.
Explore how the protected modifier controls access within the same package and in child classes, and compare it with default and public access rules.
Explore how class-level access modifiers in Java work: public vs default, and how the class’s visibility affects access to its members and object creation across packages.
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
Rest Assured - Setup, Write Test Case
Rest Assured - Test Case in TestNG format
Rest Assured - Assertion (On header, body and status code)
Serialization & De-serialization: POJOs
HashMap to JSON object
ArrayList to JSON array
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
Framework Design
Code Management
Jenkins Integration
Java Coverage
OOPS Concepts
Excel Handling
Database Handling
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