Postman: The Complete Guide - Rest Api Testing

Posted By: ELK1nG

Postman: The Complete Guide - Rest Api Testing
Last updated 7/2022
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.57 GB | Duration: 14h 30m

Postman API testing for manual and automated tests. Automate with Newman, Jenkins or any other CI tool.

What you'll learn
Create GET, POST, PUT, DELETE request
Understand GET vs POST request method
Work with real-world APIs (Github API, Trello API)
JavaScript basics for tests
Write API tests in Postman
Use data from Excel files (CSV) or JSON
Use Postman variables to create workflows and scenarios
Run API tests with Newman in Jenkins, GitLab CI or TeamCity
Use OAuth2, API keys, tokens, JWT, basic auth
Test file uploads
Use mock servers
Collaborate using Team Workspaces
Requirements
Basic programming and/or JavaScript knowledge is required (needed for writing tests)
Basic HTTP knowledge required (address, message body, headers, cookies, …)
Basic knowledge about RESTful APIs and JSON
Basic Jenkins experience, if an integration with Jenkins is desired
Basic NodeJS/NPM experience (needed for test automation)
Optional - Basic Docker experience (for Jenkins or Newman)
A computer with Windows, macOS or Linux is required for viewing the lectures and installing Postman. Using a mobile phone/tablet is not recommended.
Registering to a few reputable public APIs is required for you to be able to follow along with the course
Description
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 scenariosLearn to deal with authentication / authorization mechanisms like Basic Auth, API Keys, or OAuth.Start writing API testsOrganize tests in collections and share them with your teamRun API tests in Jenkins or any other CI serverYou ask, I answerSo after this course you will know how to use Postman as a pro.Excited to learn Postman? Sign-up up today!

Overview

Section 1: Introduction and first steps in Postman

Lecture 1 Course overview

Lecture 2 Course updates

Lecture 3 How to install Postman

Lecture 4 A quick introduction to APIs

Lecture 5 Your first Postman request

Lecture 6 Troubleshooting Postman errors

Lecture 7 Using Postman on the web

Lecture 8 A brief overview of HTTP

Lecture 9 The Postman Landscape

Section 2: Creating API requests with Postman

Lecture 10 Postman collections

Lecture 11 Storing configuration in collection variables (2022)

Lecture 12 Modifying collection variables

Lecture 13 GET request

Lecture 14 Visualizing responses in Postman

Lecture 15 Query parameters

Lecture 16 Misconceptions about API parameters

Lecture 17 Assignment #1 - Query parameters

Lecture 18 Assignment #1 - Query parameters - Solution

Lecture 19 Shortcuts in Postman

Lecture 20 Path variables

Lecture 21 POST request

Lecture 22 Assignment - Check cart contents

Lecture 23 Assignment - Check cart contents - Solution

Lecture 24 JSON format explained

Lecture 25 POST request with JSON

Lecture 26 GET vs POST

Lecture 27 API Authentication

Lecture 28 Troubleshooting HTTP status codes

Lecture 29 Assignment - Place an order

Lecture 30 Assignment - Place an order - Solution

Lecture 31 Using random data in requests (random variables)

Lecture 32 Working with HTTP headers in Postman

Lecture 33 Common questions about HTTP headers

Lecture 34 Headers vs query vs params

Lecture 35 Exporting and Importing a Postman collection

Lecture 36 PATCH request method

Lecture 37 Assignment - PATCH request method

Lecture 38 Assignment - PATCH request method - Solution

Lecture 39 Using Postman variables to avoid duplication

Lecture 40 PATCH request method - continued

Lecture 41 PUT request method

Lecture 42 DELETE request method

Lecture 43 Assignment - Delete an order

Lecture 44 Assignment - Delete an order - Solution

Lecture 45 GET, POST, PUT, PATCH … What is the difference?

Lecture 46 HEAD request method

Section 3: Writing tests and scripts

Lecture 47 Introduction

Lecture 48 The Postman Cheat Sheet & Quick Reference Guide

Lecture 49 Your first API test in Postman

Lecture 50 Resources for this section

Lecture 51 Testing an API

Lecture 52 Testing an API - Writing more tests

Lecture 53 Troubleshooting

Lecture 54 Recap: Path parameters vs query parameters

Lecture 55 Refactoring Tests

Section 4: Writing tests and scripts using variables

Lecture 56 Variables in Postman

Lecture 57 Global variables

Lecture 58 Environments

Lecture 59 Session variables (new in Postman 6.2!)

Lecture 60 Bulk editing removed new in Postman 6.2!)

Lecture 61 Pre-request scripts in Postman

Lecture 62 Understanding different variable scopes / types

Lecture 63 How to setup different URLs using environments in Postman

Lecture 64 Debugging tests

Lecture 65 Notice about the old Postman scripting API

Section 5: Advanced assertions

Lecture 66 Section overview

Lecture 67 Postman assertion basics

Lecture 68 Chai Assertion Library

Lecture 69 Assertions

Lecture 70 Assertions on arrays

Lecture 71 Assertions on nested objects

Lecture 72 How to write assertions in Postman (objects, arrays, nested properties)

Lecture 73 Testing headers and cookies

Section 6: Automatically running tests

Lecture 74 Overview

Lecture 75 Postman collection runner

Lecture 76 Postman monitors

Lecture 77 Automating with Newman (Overview)

Lecture 78 Short introduction to NodeJs and NPM

Lecture 79 Installing Newman

Lecture 80 Troubleshooting Node.js / npm / Newman Problems (for Windows)

Lecture 81 Running a collection with Newman

Lecture 82 Newman v3 to v4 Migration Guide

Lecture 83 3 ways to access your Postman collection from Newman

Lecture 84 Specifying environments with Newman

Lecture 85 Prerequisites for running Newman on Jenkins

Lecture 86 Troubleshooting Jenkins Problems (for Windows)

Lecture 87 Troubleshooting Jenkins Problems (for macOS, Linux)

Lecture 88 Running a collection with Jenkins and generating a report

Lecture 89 Creating an HTML report in Jenkins

Lecture 90 Generating better HTML reports

Lecture 91 Customizing HTML reports

Lecture 92 Troubleshooting HTML reports

Lecture 93 Running a collection from a Git repository with Jenkins

Section 7: Running Newman with other CI servers / tools

Lecture 94 Gitlab CI

Lecture 95 TeamCity

Lecture 96 Short introduction to Docker (optional)

Lecture 97 Running Jenkins with Docker

Lecture 98 Running Newman with Docker

Section 8: Workflows and Scenarios

Lecture 99 Overview

Lecture 100 Creating a basic workflow / scenario

Lecture 101 Advanced workflows

Lecture 102 Multiple workflows with the same collection

Section 9: Data driven tests: Running a request multiple times with different data sets

Lecture 103 Using workflows to create data-sets

Lecture 104 Using external data files - Basic usage

Lecture 105 Using external data files - Writing tests

Lecture 106 Using external data files - Advanced usage

Section 10: Team Collaboration

Lecture 107 Introduction

Lecture 108 Using the Git version control system - Overview

Lecture 109 Using the Git version control system - Hands on

Lecture 110 Team Workspaces - Creating and sharing a workspace

Lecture 111 Team Workspaces - Understanding users and permissions

Lecture 112 Team Workspaces - Managing user permissions

Section 11: Mock servers

Lecture 113 Introduction to mock servers

Lecture 114 Why use a mock server?

Lecture 115 Create your first mock server

Lecture 116 Practical example: using mock servers for front-end development

Lecture 117 Recording responses from an existing API

Lecture 118 Known limitations

Section 12: File uploads (testing, automatic uploads, uploading multiple files)

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

Lecture 120 Automatic the upload and testing process with Newman

Section 13: Authentication / Authorization

Lecture 121 Basic access authentication

Lecture 122 OAuth2 Authorization Flow (Authorization Code Grant)

Lecture 123 Form-based / Session-based authentication

Lecture 124 JSON Web Tokens (JWT)

Section 14: Advanced topics and user questions

Lecture 125 Postman help - Schedule your free Postman consultation

Lecture 126 You ask, I answer

Lecture 127 Reusing tests in multiple requests

Lecture 128 How to deal with CSV responses?

Lecture 129 Writing files to the file system

Lecture 130 Passing variables dynamically to the request at runtime (Newman)

Lecture 131 Sending requests from scripts

Lecture 132 How can I connect to my database using Postman?

Lecture 133 JSON Schema validation in Postman

Section 15: New features in Postman

Lecture 134 Designing APIs with Postman (OpenAPI 3.0.0 / Swagger)

Lecture 135 Sending GraphQL Queries in Postman

Section 16: JavaScript fundamentals

Lecture 136 Section overview

Lecture 137 A short history of JavaScript

Lecture 138 Data Types in JavaScript

Lecture 139 Variables

Lecture 140 Conditionals

Lecture 141 Functions

Lecture 142 Data structures: arrays

Lecture 143 Data structures: objects

Lecture 144 Loops

Lecture 145 Modern JavaScript

Lecture 146 Applying what you have learned to Postman

Lecture 147 Conclusion

Section 17: Postman Developer Challenge

Lecture 148 Postman challenge webinars

Section 18: [Deprecated - To be removed mid 2022] API workflow using Github & Twilio

Lecture 149 About this section

Lecture 150 Github API changes starting November 2020

Lecture 151 Introduction to the Github API

Lecture 152 Introduction to 2FA

Lecture 153 Setting up 2FA on Github

Lecture 154 Setting up 2FA in Postman

Lecture 155 Automating two-factor authentication (2FA) workflow - overview

Lecture 156 Introducing twilio

Lecture 157 Get a new Twilio phone number & 2FA setup

Lecture 158 Setting up 2FA on Github with Twilio

Lecture 159 Troubleshooting why Twilio did not receive the SMS

Lecture 160 Assignment: Read the SMS code and replace it in the workflow

Lecture 161 Using the Twillio API in Postman

Lecture 162 Conclusion

Lecture 163 Additional assignment

Section 19: Last words

Lecture 164 Bonus Lecture

This course is targeted towards testing engineers and developers.