
Explore web services API automation using Rest Assured and Postman, building a full fledged Java framework with data-driven tests, Cucumber BDD, and Maven Jenkins integration.
Master web services testing with SOAP and REST, using Postman, Rest Assured, and JMeter for API performance. Build a Java data‑driven Cucumber BDD automation framework with JSON/XML parsing.
Explore what web services are, how they enable cross-language applications to communicate over the internet using XML or JSON, and how client-server exchanges occur via REST or SOAP.
Compare soap and rest web services, detailing soap's xml requests/responses and rest's json or xml over http; cover wsdl, uddi, envelope header body fault, and common testing response codes.
Master rest APIs for CRUD operations, including get, post, put, and delete, with endpoints and json responses, and use Postman and Rest Assured for testing.
Explore how resources are accessed via http endpoints and uris, and learn the core crud operations—get, post, put, delete, and patch—for testing web services with Rest Assured and Postman.
api testing proves essential before ui release by validating login apis and business logic, aligning front-end and back-end work, and preventing defects through rest-based integrations.
Explore the six constraints of restful web services, including client-server decoupling, statelessness, caching, uniform interface, layered systems, and the optional code on demand.
Download the PDF File
Install Postman, perform manual API testing, and prepare for automated testing with rest assured API; explore requests, collections, environments, and basics of documentation and collaboration features.
Create the first api request by building a collection in postman, understand authorization concepts and session ids, and use pre request scripts, tests, and collection variables across requests.
Create your first API collection, send a get request with Postman, and explore endpoints, response codes such as 200 and 204, and view JSON responses.
Explore the request uri structure: base uri, base path, and endpoint, where the base uri stays fixed and the endpoint represents the resource, using get, post, put, patch, and delete.
Learn to use request tabs to craft API calls with JSON body, headers, and query parameters, illustrated by a login API example, and review pre-request scripts and tests.
Learn to send get and post requests, create environments and runtime variables, run collections, and test a sample rest api with Postman and Swagger, validating codes like 200 and 201.
Learn to manage environments and variables in Postman, configuring base URLs, base paths, and endpoints for test and production servers, and use environment and global variables to ensure consistent requests.
Learn to run multiple API requests with the collection runner, configure environments and iterations, set delays, log responses, and validate results with assertions in Postman and Rest Assured.
Update user data with put and patch requests using json bodies in Postman, updating single fields with patch and multiple fields with put.
Master delete and options requests in rest APIs by deleting a user, validating 204 responses, and using options to reveal methods such as get, post, put, patch, delete, and options.
Learn how to use head requests to validate API availability and inspect headers and status codes without downloading data, using real-world Swagger pet store examples with xml and json responses.
Save and reuse header presets to apply common header values across multiple requests. Manage presets to set default headers such as content-type, host, and cookies for quick usage.
Create your first postman test case by adding a register user request and asserting status codes and token presence. Use snippets and console logging to handle dynamic tokens.
Learn to extract token and id from json responses, store them in environment variables, and use them to validate fields and authenticate subsequent requests using Postman.
Share collections with teammates, invite testers to your workspace, copy collection links, and import shared collections; stay synced to the cloud by logging in.
Learn to parameterize API tests by reading external CSV or Excel data to drive multiple user creation requests, using a data-driven approach with the Postman collection runner.
Explore real-time API testing using the Stripe REST API. Learn to navigate API documentation, authenticate with basic or bearer methods, and simulate creating and managing customers in Postman.
Explore listing all customers via the list all customers API, using limit as a query parameter, and validate results with Postman tests and JSON response checks.
Explore how to authenticate Stripe API requests using HTTP basic authentication, bearer authentication, or authorization headers to avoid 401 unauthorized errors, following API documentation.
Demonstrate JSON architecture by identifying objects and arrays, parsing key‑value pairs, and navigating nested elements to validate API responses.
Create a json payload for assignment 1, detailing a json response with name, email, age (admin boolean), at least three phone numbers, three addresses, and a cars object.
Explore rest assured basics, a java library for automating rest APIs. Compare it with postman, and learn prerequisites like core java, eclipse, jdk 1.8+, and maven for building API tests.
Download and install the JDK on Windows, verify 64-bit setup, and configure JAVA_HOME and PATH to enable Java for Selenium, Jenkins, Maven, and Eclipse.
Learn how to download and configure Eclipse IDE on Windows, choose the Java development package, unzip, launch, and set up your workspace. Prepare for Selenium configuration in automation testing.
Download and install JDK 1.8 on macOS using the DMG installer, then configure Java globally by creating a bash profile, setting JAVA_HOME, and updating PATH to verify Java version.
Download and install the Eclipse IDE on Mac, set up a Selenium workspace, and configure Safari, Firefox, Chrome, and Opera with Maven dependencies.
Explore core Java concepts from high-level platform independence and object orientation to classes, objects, main method, bytecode, JVM, and Eclipse setup.
Learn how Java uses classes as blueprints to create objects through instantiation, and explore memory concepts like the heap, garbage collection, and the main method.
Learn primitive and non-primitive Java data types, including int, long, float, double, boolean, char, and String, plus declaration, initialization, and camel casing conventions for clean coding.
Explore the Java string class, object creation, concatenation and spaces, and review basic operators—unary, binary, and boolean logic with equality and relational comparisons.
Analyze how to declare java methods as modular blocks, covering access modifiers, return type, method name, parameter list, and the method body enclosed by start and end braces.
Learn how Java methods use a single return type and statement, with parameter lists, method bodies, and access modifiers, and how to invoke methods through objects and the dot operator.
Learn how instance, local, and class variables differ in Java, study object scope and the dot operator, and design a calculator with integer add, subtract, multiply, and divide methods.
Create a calculator class with int-returning methods for sum, subtract, multiply, and divide, then call them via an object to illustrate parameters, arguments, and predefined Java methods.
Learn how predefined methods in Java, such as Math.random(), work, how static and non static methods differ, and how to call methods from APIs like Selenium.
Explore how static and non-static methods interact, call each other with or without objects, and why the main method must be static for Java execution sequence.
Learn how if and else statements control code execution based on conditions in Java, including else if branches, blocks with or without braces, and equality comparisons.
Learn how the while loop in Java repeats a code block while a boolean condition is true, with practical examples, syntax, and how increments, scope, and infinite loops shape execution.
Explore the do while loop syntax, compare it with the while loop, and learn that the do block executes at least once before evaluating the condition.
Explore the for loop syntax, including initialization, condition, and update, and compare it with while and do-while loops, highlighting infinite loops and when each is used.
Explore nesting of loops by combining a while, a for, and a do-while loop, where inner iterations multiply outer ones to 60, with emphasis on initialization and variable scope.
Break and continue statements, their scope in loops and switches, and how they control flow and skip iterations with examples.
Explore the nature of exceptions, including checked, runtime, and errors, and learn to handle them with try-catch blocks, stack traces, and practical Selenium and Java examples.
Master exception handling in selenium tests by using try-catch blocks, capturing stack traces, choosing between throw and throws, utilizing finally to close the database connection, and leveraging the throwable class.
Explore Java access modifiers public, protected, default, and private at class and member levels, and see how inheritance and packages determine visibility.
Explore encapsulation as a core oops principle by wrapping data and methods in a class, using private variables with public getters and setters to hide data and support abstraction.
Learn how inheritance links subclass and superclass using extends, with examples like animal, dog, and cat, and explore single, hierarchical, and multi-level inheritance in Java, plus extends and implements.
Explore polymorphism in Java, covering compile time polymorphism (early binding, static binding) and overloading, including method signatures and how signatures differentiate overloaded methods.
Explore overriding, dynamic binding, and runtime polymorphism in inherited classes with RBI and Citi Bank examples. Understand why return types stay the same or become covariant, and polymorphic references work.
Explore how overriding enables runtime polymorphism in Selenium WebDriver frameworks, delivering consistent operations across Chrome, Firefox, and IE via a single WebDriver reference, and understand drawbacks.
Explore abstract classes and abstract methods, explain why you cannot instantiate abstract classes, and how the first concrete child class overrides abstract methods to enable polymorphism across inheritance.
Explore Java interfaces as pure abstract contracts where methods are abstract by default. Learn how to declare interfaces and implement them using implements for standardization.
Read properties and Excel data for test frameworks by loading a properties file for element locators and an Excel file for test data, using Java's Properties and FileInputStream.
Master java streams to read and write text and csv files using input and output streams, file writer, and buffer writer with practical examples.
Create and read HTML files in Java using streams, with file writer and buffer writer for writing. Read a text file with file reader and buffer reader in a loop.
Master how to create and write Excel files in Java with Apache POI, including workbook, sheets, rows, and cells, dependency setup, and looping to populate data in xls and xlsx.
Learn to read Excel files with Apache POI using workbook factory and file input stream, iterate sheets, rows, and cells with enhanced loops, and build an Excel reading writing utility.
Learn to create, write, and read a text file in Java using File, FileWriter, BufferedWriter, FileReader, and BufferedReader, with line-by-line reading and newline handling.
Explore the Java collections framework, comparing dynamic collections with arrays, and learn wrapper classes and auto boxing/unboxing for storing primitive data in lists, maps, and sets.
Discover array list concepts in collections, including autoboxing and object storage, and master list operations like add, get, size, and remove, with generics for type safety.
Explore hash sets and their distinction from lists and arrays, including unordered storage and unique values. Learn to iterate sets with for-each and iterators and apply Selenium window id example.
Explore hash maps as key-value stores, using put and get to manage data, learn key uniqueness and how to iterate keys with key set to retrieve values.
Explore how the reflection API reveals class, method, and constructor information at runtime, enabling automatic test logging and reporting through before methods and parameter and return type insights.
Compare the == operator and the dot equals method to distinguish reference vs content equality, then demonstrate implementing a singleton design pattern to ensure a single shared object.
Explore Log Forge to generate console and file logs and send email alerts, configure console and file appenders with XML, and test log levels like debug and error.
Learn how to configure a smtp appender to email log messages by extending the smtp appender, setting mail credentials, recipients, and a filter to send errors and fatal logs.
Learn to configure the Apache Log4j HTMLAppender to generate HTML logs, including daily rolling file appender, layout, date pattern, and viewing log details like debug, info, error, and category.
Configure the log forge API update with appender properties, log levels, and timestamped log files for Selenium, APM, and rest assured in Java projects using Maven.
Master static imports for Rest Assured in a Java project. Explore import static, star imports, and Eclipse auto-imports to simplify calling static methods from Rest Assured.
Configure maven on Windows by setting mvn_home and updating the path, then verify with mvn --version; Maven is a build and dependency management tool used to fetch rest assured dependencies.
Install and configure Maven on mac os x by downloading the bin zip, setting Maven home and path, and verify with mvn version for Rest Assured API testing.
Explore sending a get request to the Stripe API with basic authentication or bearer token, apply optional parameters like limit, and print the json response using Rest Assured.
Learn to send get requests with Rest Assured, print and validate responses, use header or bearer token authentication, and pass parameters to fetch single user by id.
Learn to send a post request with Rest Assured and Postman by configuring basic authorization, adding form parameters for customer details, sending the request, and inspecting the response.
Learn to send post requests with a json body using Rest Assured and Postman, via json strings or maps, and enable serialization with Jackson.
Learn to send post requests using an external json file with Rest Assured, including creating and parsing json files, observing status codes, and logging headers for debugging.
Create a complex runtime json using a hash map and array list, including a nested address and mobiles array, then send it as the json body in a post request.
Create complex runtime json in Java using Jackson data binding or another json library, building with Json object and Json array, then convert to string to match address and mobiles.
Create json at runtime using pojo classes by modeling a user with email, first name, last name, address, and mobiles, using getters, setters, and a constructor.
Learn to validate API JSON responses using JSONPath with Rest Assured, extract fields like ID, name, address, and preferred locales, and verify values with maps and lists.
Explore TestNG, a feature-rich Java testing framework, and its integration with Selenium, Appium, and Rest Assured, highlighting annotations and test suite configuration.
Create the first test case in TestNG by defining a test class and methods annotated with @Test, and manage execution flow with before, after, and priority annotations.
Learn to validate expected versus actual results using assertions, such as assert equals and assert true, to properly report failures in test reports and through selenium checks like element present.
Master soft assertions to report multiple failures without stopping the test; compare title and image, and use assert all to reveal all issues.
Discover how to manage test dependencies in API testing by declaring depends on methods, handling failures with skip behavior, and using always run equals true for soft dependencies.
Create and run a test suite by generating or converting a testng.xml, selecting only annotated classes, naming tests uniquely, and executing them in the defined sequence.
Organize large projects by creating functional and regression test suites in xml, then combine them with a master suite to run targeted or full test sets using test ng.
Learn how to organize and run api tests by defining functional and smoke groups, including or excluding them, and controlling runs with group tags and dependencies.
Explore implementing test listeners in TestNG to automatically capture screenshots on failure, log pass/fail/skip events, and centralize handling with a custom listener class.
Explains how to forcefully skip tests by throwing a skip exception, using conditional logic and test dependencies, while contrasting with assert.fail to deliberately fail tests.
Initialize logging, database connectivity, API tools, and Rest Assured in a base test class using setup and teardown as test fixtures; leverage before suite and after suite to run once.
Learn to generate interactive test reports from test execution, using html and email reports, with screenshots, links, and thumbnails to show passed, failed, and skipped tests.
Explore parameterization with a data provider to run a login test using multiple username and password rows from an Excel sheet, treating each row as a test case.
Read data from an Excel sheet and parameterize tests with a data provider using an Excel reader utility and Apache POI.
Replace passing multiple Excel columns as arguments with a per-row string hash table, using column names as keys to read data from Excel for data driven testing.
Explore advanced data providers in testing by organizing named data providers, sharing data across tests, and handling varying argument counts with an overloaded data provider method.
Learn how to read parameters from a testNG.xml file, define parameter tags for browser and environment, and run tests in parallel with Firefox and Chrome using a parameters.xml approach.
Explore parallel test execution using TestNG.xml and Selenium Grid to distribute tests across multiple machines, demonstrated with Chrome and Firefox tests and observations of parallel timing.
Learn to run parallel tests using a data provider with a two-dimensional data set, enabling parallel execution by setting parallel to true for browser choices such as Chrome and Firefox.
Configure the latest extent report four step by step, with HTML reporter, attaching the report, and setting title, name, and theme for API, Selenium, and mobile tests.
Learn how to generate extent reports for API tests using customized listeners and an extent manager, with dynamic file naming, thread-local instances for parallel tests, and TestNG integration.
Build a Java rest api testing framework with TestNG and Rest Assured in Maven, enabling Stripe API operations like create, update, and delete customers via form parameters and basic auth.
Optimize API testing by centralizing base URI, base path, and endpoints in a config.properties file and a base test class, enabling reusable tests and data-driven possibilities.
Create and manage test data in an Excel sheet, read with an Excel reader, and feed it through a data provider to parameterize API tests with customer data.
Optimize data providers by centralizing them in a data util class and reuse across tests. Map method names to data sheets to create a common data provider for test cases.
Create an Excel-based test data framework by setting up a Maven project, adding Excel dependencies, and designing bank manager and customer data sheets with run modes.
Master complex parameterization in web services API testing by building a data-driven framework with TestNG data providers, reading test data from Excel, and mapping data with hash tables.
Improve test data management by using a hash table in the data provider to map Excel data to test names, enabling a single data sheet for API tests.
Encapsulate business logic in a dedicated APIs package to keep test cases lean and resilient to specification changes. Call these APIs from tests using static methods and hash tables.
Integrate interactive extent reports into your test suite by creating a suit file, configuring listeners, and generating emailable and extent reports (v4) to track pass/fail results.
Add a delete customer API with an id path parameter, use Excel-driven data to parameterize tests, and run 100+ parallel deletions to demonstrate fast, scalable API testing.
Validate json responses by extracting the id with json path or json object, assert against expected data, and build test utilities for has key and get json key value checks.
Customize extent reports by adding logs and wrapped json key value validations in API tests. Show detailed pass/fail logs for create and delete customer tests with failure messages.
Build the project with Maven using the pom.xml, run mvn clean and mvn test, and configure the surefire plugin to run a test xml file and produce reports.
Configure Jenkins for continuous integration by setting up the UI, installing Maven integration and HTML publisher plugins, and defining global tools to run Maven tests and publish reports.
Configure and run rest-assured API tests in Jenkins by creating a Maven project, wiring the pom.xml, running mvn clean test, and publishing extent reports via the html publisher plugin.
Push code to a centralized GitHub repository to preserve work and enable rollback to previous builds; learn a basic git workflow from init to push, with fetch and merge troubleshooting.
Learn how to implement continuous integration by configuring Jenkins to pull from a GitHub repository, automatically build, test with Maven, and generate HTML reports.
Email automated test results from Jenkins using the Java Mail API by generating a runtime report link with the machine IP and configuring the mail utility in a Maven project.
Explore OAuth 2.0 using PayPal API in a sandbox via Postman, generating access tokens with client credentials, and creating orders with JSON payloads while mapping responses to POJO classes.
Learn to implement oauth2.0 with PayPal API using Rest Assured: obtain access token via client credentials, configure base uri and path, create orders with json body, and validate responses.
Create pojo classes to model a PayPal create order request, mapping json objects to orders, purchase units, and amount, then use them to replace json bodies in API tests.
Learn to generate pojo classes from json using an online editor like json schema to pojo.org, and see how a json request maps to amount, purchase unit, and related classes.
Learn how to organize multiple APIs like PayPal and Stripe into a modular framework, add an order API with authentication, and use POJOs, properties, and Excel data for tests.
Webservices API Automation Testing using Rest Assured API and POSTMAN - Biggest course to cover all levels of API Testing using both Manual and Automation approaches on Live projects.
API Testing is very much in demand these days and people who are already familiar with the UI testing part should approach for API Testing as these days 90% of the Applications Web Based, Mobile Based, Database communicates with each other with APIs only i.e. REST and SOAP. REST being the light weight API 95% of the Industry works on RESTFul webservices. Big clients like Amazon, Facebook, LinkedIn, Google, Expedia etc their different apps communicates through RESTFul webservices itself.
If you are already familiar with Selenium then the combination of Selenium + API Testing is a boom in the Industry. Every next Automation opening in Industry around the globe has a requirement of good knowledge on Selenium + API Testing and not just the Manual part, companies they look for indepth understanding of API Automation which can be used in the same Automation framework designed to handle the UI, Database and the Mobile part. Using Rest Assured API we will look at in-depth framework designing on Webservices automation testing part which will include the most popular Cucumber BDD approach as well
Detailed topics covered:
API Testing basics
Difference in SOAP and REST and which one to use
Tools available for testing Webservices
POSTMAN in Depth
REST API Method - GET, POST, PUT, DELETE etc
RestAssured API and building frameworks
Handling OAUTH Authentication
JSON & XML
Introduction to Jackson Library
TestNG
Jenkins
Maven
Reporting Extent Report
Parallel Execution
Git/GitHub
Data Driven
Cucumber BDD
Many Live APIs used