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
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.