Comment utiliser des variables Postman dans vos collections

Rayed Benbrahim

Publié le 27 juin 2020

L'outil indispensable lorsqu'on développe une API est Postman. Rapidement après avoir fait vos premières requêtes, vous allez devoir récupérer des données, que vous aurez saisies ou qui vous seront retournées par le serveur afin de les réutiliser dans des futures requêtes. Pour cela, les variables Postman vont considérablement vous simplifier la vie. Vous allez pouvoir stocker les ids, les tokens, les clés API dans des variables afin de pouvoir dérouler vos appels les uns après les autres sans avoir à vous interrompre pour copier/coller.

Tu envisages ou tu as fait une formation accélérée pour devenir développeur ? Sache que c'est plus difficile que ce qu'il n'y paraît.
Télécharge mon guide "Réussir sa reconversion pour devenir développeur"

Utiliser des variables Postman

Scope des variables Postman

Les variables postman sont divisées en plusieurs scopes:

  • Les variables globales
  • Les variables d'environnement
  • Les variables de collection
  • Les variables de sessions (à partir de la version 6.2)

Le scope des différents types de variables postman

Les variables globales

Ces variables sont accessibles par tous les environnements et toutes les collections. Elles sont utilisées dans les cas où des variables vont être réutilisées dans plusieurs endroits à travers l'espace de travail sans dépendre de la collection ou de l'environnement.

Pour définir une variable globale:

Comment définir une variable globale dans postman

Les variables d'environnement

Lorsqu'il s'agit de variables, il y a toujours des différences suivant l'environnement sur lequel on veut faire des requêtes. Une clé API ne sera jamais la même sur un environnement de dev, de pré-production ou de production.

C'est pourquoi Postman permet de définir des environnements différents pour une même suite de collections. Ainsi, vous pourrez mettre en variable l'URL de façon à faire des appels sur localhost:8080 lorsque vous êtes en cours de développement et, en un clic, changer d'environnement pour faire vos appels sur votre serveur de pré-production ou de production.

Pour définir une variable d'environnement:

Comment définir une environment variable dans postman

Puis si on change d'environnement:

Après changement d'environnement dans postman

Les variables de session

Certaines variables sont privées et même si vous êtes amené à partager votre collection, vous ne souhaitez pas forcément partager toutes vos variables d'environnement. Par exemple, votre API Key peut être privée et vous ne voulez pas forcément la partager.

Pour çà, il faut modifier la colonne Initial Value dans la liste des variables d'environnement pour mettre un exemple à la place de la vraie variable.

Comment définir une session variable dans postman

Définir dynamiquement des variables

Dans le développement de votre API, vous allez arriver à un stade où certaines variables seront définies dynamiquement. Par exemple, si vous voulez modifier un objet après l'avoir créé, vous devrez récupérer son ID pour le passer à la requête suivante.

Dans l'exemple ci-dessous, j'ai créé une collection où je crée un objet, je le modifie puis je le supprime:

Exemple de collection postman

Je vais avoir besoin de récupérer l'ID retourné par la requête POST pour le passer dynamiquement aux requêtes suivantes.

Étant donné que la variable ID est la même, quel que soit l'environnement et qu'elle pourrait être partagée, je vais la définir directement dans une variable globale à l'issue de la requête.

Pour ce faire, il faut se rendre dans l'onglet Tests, parser la réponse en JSON et définir la variable globale:

définir une variable dynamiquement postman

Avant de lancer cette requête, la variable object_id n'existe pas. Après l'avoir exécuté, on voit dans la liste des variables globales qu'elle est maintenant définie et prête à être utilisée dans les autres requêtes:

Utilisation de la variable

Je peux maintenant exécuter toute la collection en effectuant des tests automatisés à chaque requête pour m'assurer que chaque étape se comporte comme désiré.