Testez efficacement vos API avec Postman grâce à ces astuces

Testez efficacement vos API avec Postman grâce à ces astuces

Le concept d’API REST se base essentiellement sur l’architecture REST. Cette dernière utilise les requêtes HTTP pour transférer et accéder à des données. L’objectif majeur des API REST est de faciliter le développement et l’intégration d’applications complexes.

Plusieurs outils ont été créés pour permettre aux développeurs de facilement tester les API qu’ils développent, parmi lesquels, Postman.

Dans cet article nous allons voir quelques fonctionnalités de Postman qui vont non seulement vous permettre de simplifier vos tests mais aussi de développer des API en adéquation avec les bonnes normes et spécifications.

Plan

  1. Organisation 
  2. Environnements et variables
  3. Les scripts Postman 
  4. Documentation des API

NB : tout au long de cet article nous utiliserons ce petit projet (Node.js et express) qui contient quelques API qui nous permettront d'illustrer chacune des fonctionnalités citées.

1. Organisation

Il existe plusieurs niveaux d'organisation en ce qui concerne Postman, notamment :

Le Workspace ou espace de travail

Il s'agit du premier niveau d'organisation sur Postman. Il permet d'organiser et de travailler sur les API avec d'autres membres de l’équipe. Dans le cas de notre exemple, nous allons juste utiliser un seul espace de travail pour des raisons de simplicité.

Collection

Une collection est un regroupement de plusieurs requêtes. Elle permet d'organiser ensemble les requêtes qui définissent la même logique métier. Dans notre exemple, nous avons juste une seule collection.

Image montrant une collection sur Postman

Dossier

Il s'agit d'un sous-élément d'une collection qui permet de séparer davantage les requêtes. Par exemple, dans notre collection, nous pouvons regrouper les requêtes liées à un module dans un dossier séparé. Ainsi nous aurons un dossier pour les requêtes des utilisateurs et un autre pour les admins.

Image montrant un dossier sur Postman

L'organisation des API en hiérarchie comporte de nombreux avantages :

  •  Au lieu d'exécuter requête par requête, on peut exécuter toutes les requêtes d'un dossier, ou d'une collection grâce au collection Runner de Postman. Ce dernier permet d'exécuter les requêtes d'une collection selon un ordre précis.
  • On peut également écrire des tests et scripts pour toutes nos requêtes, ou pour un groupe de requêtes. Ainsi, nous n'aurons plus à rédiger manuellement des tests pour chaque requête.

2. Environnements et variables

Quand on développe des API, on les teste sur plusieurs environnements (dev, test, etc.).  Pour une seule requête, on peut effectuer le test sur divers environnements en changeant  manuellement l'URL de base . Mais quand on travaille sur plusieurs API, ayant plusieurs collections et requêtes, cela devient très fastidieux. D'où l'importance d'utiliser les variables d'environnements de Postman.

Dans notre exemple, avant l’utilisation des variables d’environnements, la requête pour récupérer le token ressemblait à :

image d'une requête sur Postman

En créant nos premiers environnements (test et développement), illustré par la capture ci-dessous :

Image d'un environnement sur Postman

Maintenant nous pouvons organiser nos requêtes en utilisant les variables d'environnements afin de simplifier nos tests.

Image d'une requête utilisant un environnement sur Postman

variables de collection

Sur Postman, en plus des variables d'environnements, nous avons les variables de collections. Ces dernières  permettent de regrouper les valeurs répétitives sur les requêtes d'une collection en un seul endroit.

variables dynamiques

Nous avons également des variables dynamiques, qui permettent de générer des valeurs génériques (comme le nom, l'adresse, etc.). Pour plus de détails sur leurs utilisations référez-vous à la section sur les scripts.

3. Les scripts Postman

Postman dispose d'un environnement d'exécution basé sur Node.js qui permet d'ajouter des comportements dynamiques aux requêtes et aux collections.

Ces scripts nous permettent d'écrire des tests pour nos API, transmettre des données entre les requêtes, etc. Il existe deux types de scripts, les pre-request scripts, et les test scripts.

Les test scripts

Écrits en javascript, les tests permettent de confirmer que les API fonctionnent comme prévu, que les intégrations entre les services fonctionnent de manière fiable. 

On peut également utiliser les tests pour le débogage sur les réponses des requêtes. On peut ajouter les tests individuels pour chaque requête, ou des tests globaux pour le dossier d'une collection, ou à la collection elle-même.

Dans  notre exemple, nous avons écrit des tests pour vérifier que chacune de nos requêtes renvoie une réponse avec un statut 200.

Image montrant la syntaxe des tests avec Postman

Également, comme chaque requête de notre collection  nécessite une autorisation (Bearer). Nous allons écrire un test sur la requête qui récupère le token  afin d'ajouter le token aux variables de collection.

No alt text provided for this image

Ainsi, nous n'aurons plus besoin d'ajouter le token manuellement à chaque entête de requête.

No alt text provided for this image

Tel que  mentionné précédemment, il existe des variables dynamiques. Par exemple, nous pouvons utiliser la variable $randomProduct pour générer un nom de produit randomisé pour l'api post /products.

No alt text provided for this image

Les pre-request scripts

Les pre-request scripts   sont utilisés pour exécuter certains codes avant l'exécution d'une requête. Comme pour les tests, on peut les ajouter individuellement pour chaque requête, ou d'une manière globale pour le dossier d'une collection, ou à  la collection elle-même.

Exécution en série des requêtes

Comme mentionné précédemment, si nous avons des requêtes qui doivent s'exécuter séquentiellement (un dossier, ou la collection), au lieu de le faire à la main, on peut utiliser le collection runner de Postman.

Comme illustré sur l’image ci-dessous, on peut configurer plusieurs paramètres en fonction de ce que l’on souhaite tester.

No alt text provided for this image

Le résultat de l'exécution est semblable à celui de l'image ci-dessous. Nous avons les résultats de nos tests ainsi que le statut et le temps requis pour chaque requête.

No alt text provided for this image

4. Documentation des API

Les API visent à favoriser l'intégration entre les applications. Pour ce faire, chaque personne disposant d'une API doit être capable de savoir ce qu'elle fait et comment s'en servir sans avoir accès à son code source. D'où l'importance d'une documentation facile à comprendre.

Postman offre la possibilité de créer des documentations pour une requête, une API, ou bien une collection. Pour mieux comprendre son fonctionnement, créons les documentations des API de notre exemple.

Ci-dessous est l’exemple d’une documentation de la requête post /purchase  de notre collection. Le principe est quasiment le même pour la rédaction de la documentation d'une collection ou celle d'un dossier.

No alt text provided for this image

Publication de documentations

Postman nous permet également d'exporter et de publier nos documentations pour qu'elles soient accessibles à tous. 

La documentation complète de notre exemple avec l'ensemble des dossiers et des requêtes ressemble à ce que nous voyons sur la capture ci-dessous.

Exemple de documentation d'une collection Postman

Une fois la documentation publiée, Postman met à notre disposition l’URL qui nous permet d’y accéder. On peut également exporter son code HTML si l'on décide de l’héberger sur un serveur dédié. La documentation finale mise en ligne ressemble à :

Exemple de documentation publiée sur Postman

Vous pouvez retrouver la collection complète de notre exemple avec les API, la documentation ici.

Conclusion

Les API visent à simplifier l'intégration entre applications. D'où le besoin de faire des tests afin de fournir non seulement des API qui correspondent aux spécifications, mais aussi des API qui peuvent facilement être utilisées par d'autres applications.

Dans cet article nous avons vu quelques concepts de Postman qui permettent de tester efficacement nos  API. Mais ceci n'est qu'une portion des fonctionnalités de Postman. Si vous souhaitez en savoir davantage sur ce sujet, je vous suggère conception et développement d'API avec Postman.

Si vous avez aimé cet article n'hésitez pas à le partager, vous pouvez également rejoindre mon réseau LinkedIn pour être notifié de mes prochains articles.

Identifiez-vous pour afficher ou ajouter un commentaire

Autres pages consultées

Explorer les sujets