4.49 out of 5
1788 reviews on Udemy

Postman: The Complete Guide – REST API Testing

Postman API testing for manual and automated tests. Automate with Newman, Jenkins or any other CI tool.
Valentin Despa
9,123 students enrolled
English [Auto-generated]
Work with the Postman App
Submit RESTful requests using Postman
Write API tests using JavaScript
Automate test execution

RESTful APIs (or simply REST API) are everywhere nowadays but at the same time they are getting more complex to get started with: different HTTP methods,, headers, cookies, dealing with file uploads or authentication with api keys, tokens, OAuth and so much more.

But before you start investing time writing code to retrieve the data the API is offering, why not test the request first to make sure everything is working as expected?

This is where the Postman App comes in! Postman allows you very quickly create a request with the required HTTP method and parameters, submit the request and easily inspect the results.

Postman can help if you are developing APIs as well! I have created this course for testing engineers and well as for software developers.  Postman can help you during the development of your API as well as after the API is completed, by running tests that make sure your API is still working as intended.

In the first part of the course we will start exploring the features of Postman and continue by writing API tests with the intention of integrating them in a CI server where the tests will run on a current basis.

But this is not the normal course you take part in. Because your needs may be different and because I hate leaving you wondering what to do next, the second part of the course will include user questions and answers to problems that were not yet covered in the course or that are more specific and may not interest everybody.

So let’s look at what you are going to learn:

  • Start with simple requests and advance towards more complex scenarios

  • Learn to deal with authentication / authorization mechanisms like Basic Auth, API Keys, or OAuth.

  • Start writing API tests

  • Organize tests in collections and share them with your team

  • Run API tests in Jenkins or any other CI server

  • You ask, I answer

So after this course you will know how to use Postman as a pro.

Excited to learn Postman? Sign-up up today!

Introduction and first steps in Postman

Course overview

In this lecture, I wanted to give you an overview of the entire course. 

Introduction and first steps in Postman
About this course
Introduction and first steps in Postman (continued)
The Postman Landscape
First steps in Postman

Let's just recap what you have learned in this lecture.

Creating with API requests

Note about requestbin
Creating requests

In this lecture we look at all the aspects involved when creating a request with Postman. We will cover different HTTP methods, how to manage complex URL parameters  and path variables, different headers and body types.

Importing request from your browser

This video will show you how to easily create Postman request by importing them directly from your browser.

Inspecting responses

Let's have a closer look at responses in this lecture.


This lecture discusses how to deal with cookies in Postman.


So the API you are calling is not working? Don’t panic and keep calm because in this lecture I will show you a couple of tips on how to troubleshoot the most common problems in Postman.

Saving requests

Saving requests ensures that you can later run the again or share them. In this lecture we deal with exactly that.

Working with API requests

Writing tests and scripts


In this section your are going to start writing tests but at the same time explore more features of Postman such as variables and environments for adding a dynamic behaviour to your requests, workflows and scripts for more advanced scenarios.

The Postman Cheat Sheet & Quick Reference Guide
Your first test

Let's write a simple test together and understand how everything works.

Testing an API

In this and the following lectures, you will be testing a real-world API and at the same time discover more and more feature of Postman.

We will take trello.com’s API (which is an online tool for managing lists and tasks) and create and test a few requests.

Testing an API - Writing more tests
Recap: Path parameters vs query parameters

In this tutorial, I wanted to explain the difference between path params and query params and will exemplify this in Postman.

Create additional requests and tests
Refactoring Tests

Now let's refactor the tests that we have written so far, so that they are easier to read.

Writing tests and scripts using variables


Variables allow you can create more dynamic requests. 

Postman allows you to save repetitive information in a variable (which is very similar to what a variable is in any programming language). The main motivation for using variables would be to not repeat yourself.

Global variables

This lectures explain what are global variables and what is their scope.


This lecture discusses environment variables, which are defined inside environments, are quite similar to global variables but they have a more narrower scope, which means they are more specialised.

Session variables (new in Postman 6.2!)

Postman 6.2 introduces a new feature called sessions, which allows you and your team to work more effectively through the addition of session-specific collection, environment, and global variables also called session variables.

In this video, I will show you how to configure and use session variables.

Bulk editing removed new in Postman 6.2!)

Bulk editing has been removed in Postman 6.2 but in this video I will show you a way on how you can achieve the same result.

Pre-request scripts

This lecture deals with pre-request scripts, which are similar to test scripts except as the name implies, pre-request scripts give you a chance to modify the request but before the actual HTTP request is made. 

Make the requests dynamic by taking advantages of variables
Understanding different variable scopes / types

In case you are confused about the different variable types in Postman (global, collection, environment, local, data variables), this lecture is a good way to get an overview.

How to setup different URLs using environments

In this video i will show you how to setup different URLs for different servers / environments. 

Debugging tests

This lectures deals with debugging tests and scripts using the Postman Console.

Notice about the old Postman scripting API

Advanced assertions

Section overview

Overview of the assertions section.

Assertion basics

Let's understand what are the prerequisites for writing assertions. 

Chai Assertion Library

Short introduction to the Chai JS assertion library used in Postman.

Chai Assertion Library

Let's make sure you have a good understanding of the basics when using the Chai Assertion Library.

Assertions on arrays

In this lecture we will have a look at an example on how to make assertions on nested JavaScript objects and arrays.

Assertions on nested objects

In this lecture we will have a look on how to make assertions on nested JavaScript objects.

Testing headers and cookies

Sometimes it is needed to test headers and cookies as well. This lecture deals with that.

Automatically running tests


In this short lecture I wanted to give you an overview of what you will learn in this entire section. 

What we want to achieve is to run the entire collection (one request after another) and to get an overview of successful or failed tests. There are multiple ways to automate things and next I will give you an overview.

Collection runner

The collection runner is included in Postman and facilitates the first step toward automation. It is a useful way to run the entire collection or just a subset of it (by selecting a specific folder) without any other external tools.

Postman monitors

Postman Monitors allows you to run your collection at regular intervals. While this is a Pro feature, you can still try it out with a free account (currently you can make 1000 API calls per month).

Automating with Newman (Overview)
Short introduction to NodeJs and NPM
Installing Newman
Troubleshooting Node.js / npm / Newman Problems (for Windows)
Running a collection with Newman
Newman v3 to v4 Migration Guide

This video shows how you can update fro Newman v3 to Newman v4 and briefly presents what has changed.

3 ways to access your Postman collection from Newman
Specifying environments with Newman
Prerequisites for running Newman on Jenkins
Troubleshooting Jenkins Problems (for Windows)
Running a collection with Jenkins and generating a report
Creating an HTML report in Jenkins
Generating better HTML reports

This lecture explains how you can use a 3rd party reporter to generate nicer HTML reports.

Customizing HTML reports

This lecture looks into customizing HTML reports generated by Newman.

Running a collection from a Git repository with Jenkins

Running Newman with other CI servers / tools

Gitlab CI

In this lecture explains how you can use Gitlab CI to automate the execution of Postman tests. It will be using the official Newman Docker image.


This videos deals with running Postman tests in TeamCity with the help of Newman.

Short introduction to Docker (optional)

Short introduction to Docker.

Running Jenkins with Docker
Running Newman with Docker

Workflows and Scenarios

Creating a basic workflow / scenario
Advanced workflows
Clearing unused Trello boards

Running a request multiple times with different data sets

Using workflows to create data-sets

In this video I will show you how you can take advantage or pre-request scripts and workflows to submit the same request over and over again but with different data each time.

Using external data files - Basic usage

In this lecture you can learn the basics of using external data files to generate multiple iterations in Postman.

Using external data files - Writing tests

In this lecture continues the previous lecture and shows how to adapt the tests and scripts when using external data files and data variables.

Using external data files - Advanced usage

In this lecture continues the previous lectures and shows more advanced use-cases for data variables and iterations.

Team Collaboration


Workspaces provide a way to organise Postman collections in order to make it easier to manage. Team workspaces allow you to collaborate on a number of collections with other team members in a seamless way.

Anytime somebody makes a change, this will be reflected in your Postman App almost instantly.

Using the Git version control system - Overview

This lectures gives an overview on how you can share you Postman collection by using Git.

Using the Git version control system - Hands on

This lectures shows you hands-on how you can share you Postman collection by using Git.

Team Workspaces - Creating and sharing a workspace

In this lecture we will go over the basics of team workspaces, will create a team workspace, add a collection and invite others to collaborate on it.

Team Workspaces - Understanding users and permissions

This lectures explains the basics of teams, users, workspaces and permissions when using Team workspaces.

Team Workspaces - Managing user permissions

This lecture explains how to manage permissions when using Team Workspaces.

Mock servers

Introduction to mock servers

What is a mock server? A mock server is a fake API that simulates a server response, usually for testing purposes. A mock server allows you to mock any server or service that can be accessed by using HTTP.

Why use a mock server?

Let's first understand what are the use-cases for using a mock server:

  • API Design, prototyping and development (1)

  • API testing (2)

Create your first mock server

Learn how to create your first mock server with Postman.

Practical example: using mock servers for front-end development

I have an Angular application which needs to data from the backend which is not ready yet. Using mock server I will demonstrate how to continue with the development.

Recording responses from an existing API
Known limitations

As with any software tool, there are always limitation or disadvantages. So let's what a look at what you should be aware of.

File uploads (testing, automatic uploads, uploading multiple files)

Sending and testing multipart/form-data requests (file upload form)

In this lecture I will show you how to debug an upload script and demonstrate it with Postman which can also make requests encoded as "multipart/form-data" so that you can send also a file.

Automatic the upload and testing process with Newman

We continue the file upload project and move towards automatically running tests by using Newman. 

We will also look into uploading multiple files in a single test-run.

Authentication / Authorization

Basic access authentication

Basic access authentication is a method in which the client provides a username and password while making a request to a protected resource.

Basic authentication is one of the simplest methods of implementing authentication.

I recently encountered it while dealing with microservices, so it is old and simple but still effective.

You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.5 out of 5
1788 Ratings

Detailed Rating

Stars 5
Stars 4
Stars 3
Stars 2
Stars 1
30-Day Money-Back Guarantee


14 hours on-demand video
13 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion