WebServices testing (RestAssured + Postman) Complete Guide
- Description
- Curriculum
- FAQ
- Reviews
Are you eager to become a master of Webservices Testing, using both RestAssured and Postman? Look no further! This comprehensive course is designed to transform you into a proficient WebServices Testing expert.
In today’s interconnected world, reliable WebServices are the backbone of modern applications. This course is your gateway to mastering API and Webservices testing, leveraging the power of both RestAssured and Postman.
What You Will Learn:
-
Postman Basics: Begin your journey with a solid understanding of Postman, whether you’re a beginner or experienced user.
-
API Basics: Grasp the foundational concepts of APIs, understanding their importance in modern software development.
-
REST API: Dive deep into Representational State Transfer (REST) APIs, and learn how to interact with them efficiently.
-
RESTful Web Services: Explore RESTful Web Services, and discover how to validate their functionality effectively.
-
HTTP Methods: Master various HTTP methods (GET, POST, PUT, DELETE, etc.) for diverse API operations.
-
HTTP Status Codes: Learn how to interpret HTTP status codes accurately, identifying success and potential issues.
-
JSON Schemas: Work with JSON schemas to validate and structure API responses with precision.
-
API Testing: Tackle practical API testing scenarios, from simple requests to complex workflows, ensuring the reliability of WebServices.
-
Gradle Basics: Discover Gradle, a powerful build automation tool, to manage project dependencies efficiently.
-
JUnit 5 Basics: Gain proficiency in JUnit 5, a robust testing framework, to structure and execute your tests seamlessly.
-
RestAssured Basics: Explore the fundamentals of RestAssured, a popular Java library for API testing, to build powerful test scripts.
Why Enroll in This Course?
-
Hands-On Experience: Develop practical skills through hands-on exercises, quizzes, and real-world API testing projects.
-
Expert Guidance: Learn from experienced instructors with a deep understanding of WebServices testing and RestAssured.
-
Career Advancement: Enhance your career prospects by becoming a proficient WebServices Tester, a skill in high demand in the tech industry.
-
Lifetime Access: Enjoy lifetime access to course materials, updates, and join a supportive online community of learners.
Don’t miss this opportunity to become a WebServices Testing expert with both RestAssured and Postman. Enroll today, and take the first step toward a rewarding career in API and Webservices testing!
-
1IntroductionVideo lesson
Here is our agenda for today:
Learn what are the main benefits of this course.
See what are the future opportunities after the course's completion.
-
2Communication planVideo lesson
Today we will learn:
How we are going to communicate to make sure that the learning process is efficient
Where to ask questions
How to ask questions
Communication channels, where you can reach out to me.
-
3How to Use ResourcesVideo lesson
In this video lesson you will learn how to use resources for the lectures.
-
4Tips to Improve Your Course Taking ExperienceText lesson
-
5API and Web ServiceVideo lesson
Today we will learn:
What is API?
What is a web service?
Why are web services needed?
Where web services are used?
What are pros and cons of API?
-
6API Types OverviewVideo lesson
Today we will learn:
What are the main existing API types?
What is REST API?
What is SOAP API?
What are the differences between REST and SOAP?
-
7REST API OverviewVideo lesson
Today we will learn:
What is REST API?
What are its architectural properties?
Why is it needed in Web Applications?
Advantages of REST API
-
8HTTP methodsVideo lesson
Today we will learn:
What is an HTTP method?
What are several main features of an HTTP method?
What are the main methods of REST API?
Why is each of them needed?
-
9HTTP Status CodesVideo lesson
Today we will learn:
What is an HTTP status code?
What are the main types of API status codes?
Why each of them is needed?
What is the connection between HTTP methods and status codes?
-
10Postman IntroductionVideo lesson
Here is our agenda for today:
We will talk with you a bit about Postman history.
Consider main components of Postman.
Understand why we should learn Postman.
Afterwards we will discuss the role of the Postman in software testing process.
-
11Postman InstallationVideo lesson
Today we will learn:
What is API testing tool?
What are the most popular API testing tools?
Why Postman?
How to install Postam to your machine?
How to perform basic configuration of Postman?
-
12Trello Account CreationVideo lesson
Today we will learn:
What is Trello?
Why is it selected for API testing?
How to create a test account in Trello?
How to set up Trello board for the course?
-
13Authorization Token Creation in TrelloVideo lesson
Today we will learn:
What is authorization in API?
Why is authorization needed?
Why will we need auth token in Trello?
How to generate auth token?
Where to store the generated token value?
-
14GET Method OverviewVideo lesson
Today we will learn:
What is GET method?
When is GET method needed?
Why is GET method needed?
What are the main features of GET method?
-
15GET Method in PostmanVideo lesson
Today we will learn:
How can we create a GET method in Postman?
How can we execute a GET method in Postman?
How does the GET method response look like?
How do different GET methods look like?
-
16GET Method in Postman - HometaskVideo lesson
The home task for today's lesson is the following:
Sign in to Trello
Open Trello API docs page.
Find Get Lists on a board request.
Execute this request for your Test board.
Find Get Cards in a List, Get a Card.
Execute these requests for any of the lists on your Test board.
-
17JSON Schema ValidationVideo lesson
Today we will learn:
What is JSON schema?
Why is JSON schema needed?
How can we validate a GET response schema?
Which tool can be used to generate a JSON schema?
Which tool can be used to validate a JSON schema?
-
18JSON Schema Validation - HometaskVideo lesson
The home task for today's lesson is the following:
Open https://jsonschema.net/ and https://jsonschemalint.com/ sites.
Execute Get Cards request from our previous home task.
Generate and validate JSON Schema for response array.
Execute Get Specific Card request from our previous home task.
Generate and validate JSON Schema for response object.
-
19GET Method Validation in PostmanVideo lesson
Today we will learn:
What is validation test?
How can we validate a GET endpoint?
What are common status codes for GET methods validation?
How to validate a GET endpoint in Postman?
-
20GET Metod Validation in Postman - HometaskVideo lesson
The home task for today's lesson is the following:
Execute Get Specific Card request with valid data.
See that response status code and body are valid.
Validate card id path parameter with invalid format and value.
Validate unauthorized permission attempt.
Validate key, token, and fields query parameters.
-
21POST Method OverviewVideo lesson
Today we will learn:
What is POST method?
When is POST method needed?
Why is POST method needed?
What are the main features of POST method?
-
22POST Method in PostmanVideo lesson
Today we will learn:
How can we create a POST request in Postman?
How can we execute a POST request in Postman?
How does the POST request’s response look like?
How to check POST request results?
-
23POST Method in Postman - HometaskVideo lesson
The home task for today's lesson is the following:
Sign in to Trello and open Trello API docs page.
Find Create a new Card request.
Execute this request for your list.
Pass card name and idList fields in two different ways.
Check that card is added to list via API and UI.
-
24POST Method Validation in PostmanVideo lesson
Today we will learn:
How can we validate a POST endpoint?
What are status codes in POST methods validation?
How to validate a POST endpoint in Postman?
How to check that new resource is not created via API?
-
25POST Method Validation in Postman - HometaskVideo lesson
The home task for today's lesson is the following:
Execute Create a New Card request with valid data.
See that response status code and body are valid.
Validate idList query parameter with invalid format and value.
Do not provide idList query parameter at all.
Validate unauthorized permission attempt.
Validate key, and token query parameters.
-
26PUT Method OverviewVideo lesson
Today we will learn:
What is PUT method?
When is PUT method needed?
Why is PUT method needed?
What are the main features of PUT method?
-
27PUT Method in PostmanVideo lesson
Today we will learn:
How can we create a PUT method in Postman?
How can we execute a PUT method in Postman?
How does the PUT method response look like?
How should we check PUT method work?
-
28PUT Method in Postman - HometaskVideo lesson
The home task for today's lesson is the following:
Sign in to Trello and open Trello API docs page.
Find Update a Card request.
Execute this request for your test card.
Pass card updated name field in two different ways.
Check that card is updated via API and UI.
-
29PUT Method Validation in PostmanVideo lesson
Today we will learn:
How can we validate a PUT endpoint?
What are common status codes for PUT methods validation?
How to validate a PUT endpoint in Postman?
How to check resource not updated via API?
-
30PUT Method Validation in Postman - HometaskVideo lesson
The home task for today's lesson is the following:
Execute Update a Card request with valid data.
See that response status code and body are valid.
Validate ID path parameter with invalid format and value.
Do not provide ID path parameter at all.
Validate unauthorized permission attempt.
Validate key, and token query parameters.
-
31DELETE method overviewVideo lesson
Today we will learn:
What is DELETE method?
When is DELETE method needed?
Why is DELETE method needed?
What are the main features of DELETE method?
-
32DELETE Method in PostmanVideo lesson
Today we will learn:
How can we create a DELETE method in Postman?
How can we execute a DELETE method in Postman?
How does the DELETE method response look like?
How should we check DELETE method?
-
33DELETE Method in Postman - HometaskVideo lesson
The home task for today's lesson is the following:
Sign in to Trello.
Open Trello API docs page.
Find Delete a Card request.
Execute this request for your Test board.
Verify that the card was deleted via API and UI.
-
34DELETE Method Validation in PostmanVideo lesson
Today we will learn:
How can we validate a DELETE endpoint?
What are common status codes for DELETE methods validation?
How to validate a DELETE endpoint in Postman?
How to check resource not deleted via Postman?
-
35DELETE Method Validation in Postman - HometaskVideo lesson
The home task for today's lesson is the following:
Execute DELETE Specific Card request with valid data.
See that response status code and body are valid.
Validate card id path parameter with invalid format and value.
Validate unauthorized permission attempt.
Validate key, and token query parameters.
-
38JDK InstallationVideo lesson
Today we will learn:
JDK Versions – which one to use?
Oracle JDK VS Open JDK
How to check the current Java version.
How to download JDK binary
Configuring Java environment variables
-
39Gradle InstallationVideo lesson
Today we will learn:
Gradle main features
Gradle Versions – Which one to use?
Prerequisite for Gradle installation
How to check the current Gradle version
How to download Gradle binary
Configuring Gradle environment variable
-
40IntelliJ IDEA InstallationVideo lesson
Today we will learn:
What is IDE?
What are the most popular IDEs for Java development?
Why IntelliJ IDEA?
How to install IntelliJ IDEA to your machine?
How to perform the basic configuration of IntelliJ IDEA?
-
41Rest Assured IntroductionVideo lesson
Here is our agenda for today:
We will talk with you a bit about Rest Assured history.
Consider main components of Rest Assured.
Understand why we should learn Rest Assured.
Afterwards we will discuss the role of the Rest Assured in software testing process.
-
42Mastering RestAssured: A Comprehensive Guide for BeginnersVideo lesson
In today's lecture, we will learn:
Intricacies of Rest Assured.
Request, and Response
Practical RestAssured use cases.
-
43First application with Rest AssuredVideo lesson
Here is our agenda for today:
We will create a test project
Learn the basics of build.gradle file
Set Rest Assured base URL
Send GET request for Trello API base URL
Log information sent in the request
-
44First application with Rest Assured - HometaskVideo lesson
Your home task is to implement a simple test application for ‘google.com’ ping. What you should do is:
Create a project in Intellij IDEA
Add Rest Assured dependency to your project.
Create a class with main() method
Define google.com as your request base URL
Execute GET request for this URL
-
45Mastering JUnit for BeginnersVideo lesson
Today we will learn:
JNUnit role in development.
Essential JUnit components.
JUnit Assert functions
Impeccable tests with JUnit.
Real-world JUnit use-cases.
-
46First assertion with Rest AssuredVideo lesson
Here is our agenda for today.
We will check response status code
We will not add new dependencies to the project
We will see how to log the response received
-
47First assertion with Rest Assured - HometaskVideo lesson
Your home task is to add status code assertion for our simple test application for ‘google.com’ ping. What you should do is:
Open your project
Add statement printing your response to Console
Transform Response object into ValidatableResponse object
Check status code for your API call as the final line of code in the method.
-
48First test with Rest AssuredVideo lesson
Here is our agenda for today:
We will add JUnit 5 dependency to our project
Get rid of RestAssuredRunner class
Create the first test class
Generate first JUnit test method
Set base URL for Rest Assured in @BeforeAll hook
-
49First test with Rest Assured - HometaskVideo lesson
Your home task is to migrate your simple test application for ‘google.com’ ping to test method. What you should do is:
Add JUnit 5 dependency to your project
Copy the content of main() method
Remove RestAssuredRunner class
Create a test class with test method
Set base URI for Rest Assured in @BeforeAll hook
-
50GET Method with Rest AssuredVideo lesson
Here is our agenda for today:
We will add two test methods to our project
Learn how to add query params to the request
See how to use path params in requests
Verify response body part
-
51GET Method with Rest Assured - HometaskVideo lesson
Your home task is to cover GET Cards and GET Card API endpoints with happy path tests. What you should do is:
Add two test methods for each endpoint in your project
Add authorization query params to each request
Add {list_id} and {card_id} path params to requests
Verify received card’s name
-
52Validating response body with Rest AssuredVideo lesson
Today we will learn:
Deep dive into JSON Schema Validator.
This library’s Importance.
JsonPath Components.
JsonPath Functionality.
Real-life cases of usage.
-
53JSON Schema Validation with Rest AssuredVideo lesson
Here is our agenda for today:
We will add JSON Schema Validator dependency to our project.
Reduce the fields number returned by our GET endpoints.
Create Json files, where our schemas will be stored
Add JSON Schema validations as super simple lines of code.
-
54JSON Schema Validation with Rest Assured - HometaskVideo lesson
Your home task is to add JSON Schema validation for GET Cards, and GET Specific Card Trello API requests. What you should do is:
Add Rest Assured’s JSON Schema Validator dependency
Make sure all the Rest Assured dependencies have the same version
Reduce fields count returned by GET endpoints to id and name
Create two files to store JSON schemas for your responses
Put your schemas there
Add one line of code for each test method with JSON Schemas validation
-
55GET Method Validation with Rest AssuredVideo lesson
Here is our agenda for today:
We will add one more test class to our automation framework.
Create invalid board id validation test.
Work on test checking GET Board endpoint access without authorization.
Automate check if trying to access someone’s personal data by another user credentials.
-
56GET Method Validation with Rest Assured - HometaskVideo lesson
Your home task is to add validation tests for GET Specific Card Trello API requests. What you should do is:
Create a separate test class for validation tests.
Add a test method checking unauthorized permission request.
Create an automated test to access a card with invalid id.
Build a verification method trying to access a specific card with another user credentials.
-
57Inheritance BasicsVideo lesson
Today we will learn:
Inheritance as an OOP concept.
How inheritance works in Java.
Practical examples of Java inheritance.
-
58Create BaseTest classVideo lesson
Here is our agenda for today:
We will discuss what refactoring is.
Understand the main steps that should be present in refactoring.
Create a BaseTest class.
Restructure packages in our framework.
-
59Create BaseTest class - Home TaskVideo lesson
Your home task is to perform refactoring for GET Specific Card and GET All Cards Trello API requests. What you should do is:
Create a separate Base Test class.
Move @BeforeAll hooks to BaseTest class.
Run all the tests and make them pass.
Move requestWithAuth() method’s implementation to BaseTest class.
Run all the tests one more time and make them pass.
-
60Parameterized JUnit TestsVideo lesson
Today we will learn:
Parameterized Tests in JUnit.
How Parametrization works.
The main parts of Parametrization.
Real-world use-cases of Parametrization.
-
61Parametrized Tests for IDVideo lesson
Here is our agenda for today:
We will discuss what a parametrized test is.
Add the JUnit 5 Parametrized Tests dependency.
Create a Parametrized Tests’ arguments holder class.
Generate a Parametrized Tests’ arguments provider class.
Change JUnit Test to Parametrized JUnit Test type.
-
62Parametrized Tests for ID - Home TaskVideo lesson
Your home task is to transform your validation test for GET Card by ID endpoint from a Test into a Parametrized Test. What you should do is:
Add Parametrized JUnit Test dependency to your project.
Create a separate Card ID Validation Arguments Holder class.
Build Card ID Validation Arguments Provider class.
Place there all parameters you want to pass to your test.
Add @Parametrized Test annotation for your test method.
Do not forget to add Arguments Source annotation for this method.
-
63Parametrized Tests for AuthorizationVideo lesson
Here is our agenda for today:
We will create one more parametrized test.
Add another Arguments Holder class.
Create Arguments Provider class for transformed test.
Refactor newly parametrized test according to changes.
-
64Parametrized Tests for Authorization - Home TaskVideo lesson
Your home task is to increase test coverage for GET Card by ID endpoint for all the authorization validation combinations possible. What you should do is:
Create a separate Auth Validation Arguments Holder class.
Build Auth Validation Arguments Provider class.
Place there all parameters you want to pass to your test.
Add @Parametrized Test annotation for your auth validation test method.
Do not forget to add Arguments Source annotation for this method.
-
65Code Structure ImportanceVideo lesson
Today we will learn:
Why test code structure is crucial.
Fundamentals of proper structure.
Real-world examples of code structure.
API testing process optimization.
-
66Improve Test Framework StructureVideo lesson
Here is our agenda for today:
We will improve packages structure in the framework.
Move all URLs for Boards endpoints to constants.
Place path parameters to constants.
Put query parameters as static final variables in separate class.
-
67Improve Test Framework Structure - Home TaskVideo lesson
Your home task is to perform the final refactoring for your test framework covering GET Cards Endpoints. What you should do is:
Move BaseTest and its descendants to separate packages.
Place test arguments holders, and providers classes into different packages.
Put all Get Cards endpoints’ URLs into separate classes.
Move all path params for automated tests to constants.
Transform authorization query params into read-only variables in constants class.
-
68POST Method with Rest AssuredVideo lesson
Here is our agenda for today:
We will add test for Create Board endpoint.
Add JSON body to Rest Request.
Execute a complete Entity Creation API flow test.
Clean up test resources correctly.
Share resources between tests and hooks.
-
69POST Method with Rest Assured - HometaskVideo lesson
Your home task is to create an automated test for happy path flow for Create Card endpoint in Trello. You should do the following:
Create a separate class, and test method in your framework
Send new card name and idList body parameters in request.
Check that new card is added to the list by its ID.
Store created Card ID in the test class’s field.
Delete the created card in @AfterEach hook.
-
70POST Method Validation with Rest AssuredVideo lesson
Here is our aganeda for today:
We will add validation tests’ class for Create Board endpoint.
Validate name body parameter for this URL.
Verify authorization query parameters here.
Add one more field to our AuthValidationArgumentsHolder class.
Make all our validation tests parametrized.
-
71POST Method Validation with Rest Assured - HometaskVideo lesson
Your home task is to create automated tests for different validation cases for Create Card endpoint in Trello. What you should do is:
Add errorMessage field to your AuthValidationArgumentsHolder class.
Verify name and iDList body params for this request.
Check that endpoint can process request with differently broken authorization query params.
See that Create Card endpoint doesn’t allow you to create a card using another user’s credentials.
Mark two your validation tests as the parameterized ones.
-
72PUT Method with Rest AssuredVideo lesson
Here is our agenda for today:
We will add a tests’ class for Update Board endpoint.
Generate unique name for updated board.
Verify response status code and body.
Send one more request in our test method.
Verify board name actually updated in boards storage.
-
73PUT Method with Rest Assured - HometaskVideo lesson
Your home task is to create an automated test for Update Card endpoint in Trello. What you should do is:
Add CARD_ID_TO_UPDATE URL’s constant.
Generate unique name for name body param.
Check name body’s param and status code in the response.
Send Get Specific Card request with the card ID to update as the path param.
Verify value of name body parameter in the response.
-
74PUT Method Validation with Rest AssuredVideo lesson
Here is our agenda for today:
We will add validation tests’ class for Update Board endpoint.
Validate ID path parameter for this URL.
Verify authorization query parameters here.
Make all our validation tests parametrized.
-
75PUT Method Validation with Rest Assured - HometaskVideo lesson
Your home task will be to create automated tests for different validation cases for Update Card endpoint in Trello. What you should do is:
Verify ID path params for this request.
Check that endpoint can process request with differently broken authorization query params.
See that Update Card endpoint doesn’t allow you to create a card using another user’s credentials.
Mark two your validation tests as the parameterized ones.
-
76DELETE Method with Rest AssuredVideo lesson
Here is our agenda for today:
We will add a tests’ class for Delete Board endpoint.
Create new board before each test run.
Verify response status code and body.
Verify removed board does not exist in boards storage.
-
77DELETE Method with Rest Assured - HometaskVideo lesson
Your home task is to create automated test for Delete Card endpoint in Trello. What you should do is:
Store new card’s ID in test class’s field.
Generate new card before each delete test.
Check _value body’s param and status code in the response.
Send Get All Cards request.
Verify new card is removed in the response.
-
78DELETE Method Validation with Rest AssuredVideo lesson
Here is our agenda for today:
We will add validation tests’ class for Delete Board endpoint.
Validate ID path parameter for this URL.
Verify authorization query parameters here.
Make all our validation tests parametrized.
-
79DELETE Method Validation with Rest Assured - HometaskVideo lesson
Your home task is to create automated tests for different validation cases for Delete Card endpoint in Trello. What you should do is:
Verify ID path params for this request.
Check that endpoint can process request with differently broken authorization query params.
See that Delete Card endpoint doesn’t allow you to remove a card using another user’s credentials.
Mark two your validation tests as the parameterized ones.
-
80Run Automated Tests via CMDVideo lesson
Here is our agenda for today. We will learn:
Why do we need to run tests via CMD?
Which Gradle tasks can be used to do so?
How to run our tests via CMD?
Where test results report is stored?
How to run a few Gradle tasks in a row?
-
81Run Automated Tests via CMD - Home TaskVideo lesson
Your home task is to run your API tests application via the command line and to find the test results’ report in the project’s output directory. What you should do is:
Verify that Gradle and JDK are installed on your machine
Verify that the test task is defined in build.gradle file
Check that your tests are marked with @Test annotation
Open CMD in the test project’s root
Execute two Gradle commands clearing the project’s output directory and starting your automated tests
Investigate HTML tests’ report
External Links May Contain Affiliate Links read more