
The course repos are linked with this article(GitHub links).
Essential installations of Maven, Java and Allure reports are explained in this lecture. You will also find information for setting new project in IntelliJ and the plugins that we need.
Learn how APIs enable inter-app data exchange via HTTP, resources and URLs, and REST principles, then see how REST Assured simplifies functional testing with given-when-then, JSON parsing, and built-in validations.
Master the request specification class in Rest Assured, defining base URI, base path, headers, content types, and query form and path parameters for reusable, readable API requests.
Learn to use path parameters and query parameters with Rest Assured to fetch specific bookings and filter results, using placeholders, path param and path params, and maps.
Master given, when, and then to create readable, reusable request specifications, and learn to share class-level specs for similar APIs while avoiding parameter conflicts.
Learn to extract response data with json paths in api automation, using get int, get string, get map, and get list, while validating and preparing data for next api calls.
Explore custom on-demand auth headers in REST Assured, comparing cookie header tokens with authorization header approaches, including token generation via curl and the create token API.
Demonstrates OAuth 2.0 authentication with Rest Assured to upload and delete images via the imagery API, handling access tokens, multipart requests, and dynamic image hash management.
Generate a new access token from a refresh token using OAuth 2.0, with client ID, client secret, and a multipart form request, plus environment variables and test logging.
Design an abstract base http client in a Rest Assured framework, encapsulating the request specification and authentication, with logging and a send method for get, post, put, delete, patch.
Design api classes and enums to pair api paths with http method types, implement path parameters, and use Rest Assured to build get, post, put, and delete requests for testing.
Design test classes for delete and update booking APIs with a request helper for dynamic payloads, using basic auth and environment variables to cover negative and positive scenarios.
Learn to generate dynamic API test data with Java Faker and a test data util class, creating names, random dishes, deposit booleans, and future dates via local date formatting.
Make booking data dynamic by generating random numbers with a test data helper and using them in a data provider to create dynamic dates. Learn parallel execution with TestNG xmls.
Learn the Awaitility DSL to retry code blocks and assertions with configurable timeouts and polling, handling exceptions, and retrying API calls until conditions are met.
Evaluate complex conditions and filters using Jayway JSONPath. It will help you reduce the manual handling for filtering lists, maps with Java code. We can do many operations on Json itself before using it in code.
Set up a cucumber-based api test project, integrate Rest Assured with Cucumber, add Cucumber Java and Cucumber testing dependencies, and configure feature files and step definitions for http get.
Explore how to pass data to post and other APIs using cucumber data tables, including lists of maps, single maps, and scenario outlines for multiple examples.
We will learn how to share test data between Cucumber steps which may or may not be in same step definition class. This is a usage of Cucumber DI with PicoContainer.
Enhance cucumber test readability with the pretty plugin, logging steps and data tables. Explore retry options using a retry analyzer via annotation transformer or direct test method annotations in TestNG.
Explore cucumber hooks and tags to run before and after tests, before each step, and before all or after all, with scenario and tag filtering for API tests.
Welcome to the comprehensive course on API Automation with REST Assured, Java, TestNG+Cucumber & CI. If you're new to API testing and looking to dive into automation, this course is tailored just for you. We'll guide you step-by-step, starting from the basics and gradually building your skills to confidently automate API tests using RestAssured.
Note: Java is not separately taught in this course.
REST Assured with JDK 21 + Maven + TestNG + Cucumber and CI (IDE IntelliJ Idea)
Key Features:
Introduction to API testing: We'll begin by explaining the fundamentals of API testing, its importance in modern software development, and the benefits of automation.
Writing API tests: Dive into writing your first API tests using RestAssured. You'll explore various testing scenarios, such as CRUD operations, data validation, and error handling, while incorporating best practices for maintainable and scalable tests.
Cucumber and TestNG Essentials: We will take full advantage of Cucumber DataTables, TestNG DataProviders, Hooks and their inbuilt capability to generate reports.
REST Assured essentials: Discover RestAssured, a popular Java-based library for automating API tests. You'll learn how to set up a development environment and use RestAssured to send requests, validate responses, and handle authentication.
Automate GET Api and validate response
Automate POST Api and validate response
Automate PUT Api and validate response
Automate DELETE Api and validate response
Two Test Framework Projects: Learn how to set up a robust test framework using popular tools like Maven and TestNG.
One framework with TestNG + Allure Reports + Maven + CI
One framework with Cucumber BDD + Allure Reports + Maven + CI
Authentication: Learn how to handle Basic, Digest and OAuth2.0 with RestAssured. We will use Imgur API to upload images using OAuth2.0
Multi-part Form Data and File Uploads: Upload files using RestAssured. Examples with image uploads on Imgur server.
Test reporting and assertions: Discover how to generate comprehensive test reports using TestNG and other reporting libraries. You'll also learn about different types of assertions to ensure the accuracy and reliability of your test results.
CI Powerhouse: Dive into the world of Continuous Integration (CI) for REST Assured tests with brand new lectures on:
GitHub Actions: Streamline your testing process with GitHub's powerful automation features.
Jenkins Pipelines: Master the art of creating robust and scalable CI pipelines.
Docker Deep Dive: Demystify Docker and unleash its potential for building lightweight and portable testing environments. Dockerization for your REST Assured framework.
Docker + Jenkins Pipeline Mastery: Learn how to integrate Docker seamlessly into your Jenkins pipelines for a truly optimised workflow.
Troubleshooting and debugging: Gain practical insights into troubleshooting common issues in API automation testing. We'll explore techniques to identify and resolve problems efficiently, ensuring smooth test execution.
Real-world projects and best practices: Apply your skills to real-world projects, working on practical case studies that mimic real-life scenarios. We'll also share best practices and tips to help you create maintainable and efficient API test automation frameworks.
Interview Questions with Answers attached at the last of this course.
JSONPath, xPath, Cucumber CLI and Maven cheat sheets are attached with the course for keeping them handy all the time.
By the end of this course, you'll have a solid foundation in API test automation with RestAssured. You'll be able to confidently design and automate tests for RESTful APIs, ensuring the reliability and quality of your software applications.
Join us on this journey to become an API Test Automation expert with RestAssured! Enroll now and unlock a new world of possibilities in software testing.