Les API RESTful (ou simplement API REST) sont partout de nos jours, mais en même temps, elles deviennent de plus en plus complexes pour démarrer : différentes méthodes HTTP, en-têtes, cookies, gestion des téléchargements de fichiers ou de l’authentification avec des clés API, des jetons, OAuth et bien plus encore.
Mais avant de passer du temps à écrire du code pour récupérer les données proposées par l’API, pourquoi ne pas tester d’abord la requête pour vous assurer que tout fonctionne comme prévu ?
C’est ici qu’intervient l’Application Postman ! Postman vous permet de créer très rapidement une demande avec la méthode et les paramètres HTTP requis, de soumettre la demande et d’inspecter facilement les résultats.
Postman peut vous aider si vous développez également des API ! J’ai créé ce cours pour les ingénieurs de test ainsi que pour les développeurs de logiciels. Postman peut vous aider pendant le développement de votre API ainsi qu’une fois l’API terminée, en exécutant des tests qui s’assurent que votre API fonctionne toujours comme prévu.
Dans la première partie du cours, nous commencerons explorer les fonctionnalités de Postman et continuer en écrivant des tests d’API avec l’intention de les intégrer dans un serveur CI où les tests s’exécuteront sur une base actuelle.
Mais ce n’est pas le cours normal auquel vous participez. Parce que vos besoins peuvent être différents et parce que je déteste vous laisser vous demander quoi faire ensuite, la deuxième partie du cours comprendra des questions et des réponses des utilisateurs à des problèmes qui n’ont pas encore été abordés dans le cours ou qui sont plus spécifiques et peuvent ne pas intéresser tout le monde .
Regardons donc ce que vous allez apprendre :
- Commencez par des requêtes simples et avancez vers des scénarios plus complexes
- Apprenez à gérer les mécanismes d’authentification/autorisation tels que Basic Auth, API Keys ou OAuth.
- St tests d’API d’écriture d’art
- Organisez les tests dans des collections et partagez-les avec votre équipe
- Exécutez des tests d’API dans Jenkins ou tout autre Serveur CI
- Vous demandez, je réponds
Donc après ce cours vous saurez utiliser Postman en tant que pro .
Heureux d’apprendre Postman ? Inscrivez-vous aujourd’hui !
Introduction and first steps in Postman
In this lecture, I wanted to give you an overview of the entire course.
Let's just recap what you have learned in this lecture.
Creating with API 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.
This video will show you how to easily create Postman request by importing them directly from your browser.
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 ensures that you can later run the again or share them. In this lecture we deal with exactly that.
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.
Let's write a simple test together and understand how everything works.
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.
In this tutorial, I wanted to explain the difference between path params and query params and will exemplify this in Postman.
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.
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.
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 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.
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.
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.
In this video i will show you how to setup different URLs for different servers / environments.
This lectures deals with debugging tests and scripts using the Postman Console.
Hands-on Practice: Building & Testing an API workflow using Github & Twilio
This section gives you the opportunity to practice the skills you have learned so far. It uses real-world APIs to help you gain even more practical experience.
In this section lecture we will use the Github API to create a simple workflow.
We will create a new git repository, post an issue with some content, comment on that issue and so on. We will introduce 2FA authentication in the game and work with the Twilio API to receive a text message (SMS).
So if you have the time, this will be a fun project to work on.
This lecture briefly explains what Two-Factor Authentication (2FA) is.
Advanced assertions
Overview of the assertions section.
Let's understand what are the prerequisites for writing assertions.
Short introduction to the Chai JS assertion library used in Postman.
Let's make sure you have a good understanding of the basics when using the Chai Assertion Library.
In this lecture we will have a look at an example on how to make assertions on nested JavaScript objects and arrays.
In this lecture we will have a look on how to make assertions on nested JavaScript objects.
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.
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 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).
This video shows how you can update fro Newman v3 to Newman v4 and briefly presents what has changed.
This lecture explains how you can use a 3rd party reporter to generate nicer HTML reports.
This lecture looks into customizing HTML reports generated by Newman.
Running Newman with other CI servers / tools
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.
Workflows and Scenarios
Data driven tests: Running a request multiple times with different 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.
In this lecture you can learn the basics of using external data files to generate multiple iterations in Postman.
In this lecture continues the previous lecture and shows how to adapt the tests and scripts when using external data files and data variables.
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.
This lectures gives an overview on how you can share you Postman collection by using Git.
This lectures shows you hands-on how you can share you Postman collection by using Git.
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.
This lectures explains the basics of teams, users, workspaces and permissions when using Team workspaces.
This lecture explains how to manage permissions when using Team Workspaces.
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.
Let's first understand what are the use-cases for using a mock server:
API Design, prototyping and development (1)
API testing (2)
Learn how to create your first mock server with Postman.
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.
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)
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.
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 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.
This lecture shows you how you can test the OAuth 2.0 Authorization Code Grant using Postman.
Learn how to login to legacy systems which are using a form-bases / session-based / cookie-base authentication. Additionally, I will show you how do deal with more complex scenarios which involve CSRF tokens.
Advanced topics and user questions
This lecture explains how you can adhere to the DRY principle and re-use existing tests.
In this video, I will show you how to deal with responses in CSV format in Postman.
This lecture will tackle the delicate topic of writing files to the disk while using Postman. This will be possible by actually running Newman as a Node module.
New features in Postman
JavaScript fundamentals
Postman News & Updates
This months I will quickly introduce you to the Postman Quick Reference Guide, to another website where you can find collections and to the newest feature in Postman: Workspaces!
Postman March 2018 News and Updates.
Postman April 2018 News and Updates.
Postman May 2018 News and Updates.
July 2018 Postman News & Updates
August 2018 Postman News and Updates: Postman 6.2, sessions (session variables), team workspaces, Newman v4.
March 2019 Postman News and Updates: Postman 7.0, New Team Workspace permissions, Forking + Merging, Open API 3.0 support.