Categories: Articles tech

Test API: Comment tester son API avec les tests Postman

Pour assurer son bon fonctionnement d’une API, il est important de pouvoir régulièrement faire du test API. Postman permet de tester le fonctionnement de son API aussi bien en interne qu’avec des API tierces.

Lorsque l’on construit un système d’information, le choix de l’API est devenu le choix par défaut. Or pour assurer son bon fonctionnement tout au long de sa vie, il est important de pouvoir régulièrement faire du test API.

Les tests API au cours du développement sont principalement faits via des tests unitaires et tests fonctionnels dans la codebase. Pour une API NodeJS, les librairies de tests les plus utilisées sont Mocha/Chai et Jest. Toutefois, ces tests ont souvent un scope limité au fonctionnement interne de notre API.

Le Test API via Postman permet de tester le fonctionnement de son API aussi bien en interne qu’avec des API tierces.

Comment écrire un test avec Postman

Dans l’interface, Postman propose l’onglet « Tests ». On peut s’en servir pour définir des variables Postman à l’issue d’une requête et pour effectuer des assertions dessus.

Exemple de test automatisé pour un test API via postman

Dans cet onglet, vous pourrez écrire votre code de test API. Sur la droite, Postman vous propose des snippets de tests prêts à l’emploi, comme l’évaluation du Status Code, vérifier la valeur de la réponse JSON ou évaluer le temps de réponse de la requête.

Postman se base sur la librairie d’assertion Chai. Vous êtes également libre d’écrire votre suite de test selon vos besoins en utilisant la syntaxe d’assertion Chai.

Lancer ses tests API automatiquement

Au fur et à mesure que votre API croît, le nombre de test API à lancer devient de plus en plus grand. Lancer chaque test API manuellement devient chronophage et source d’erreur. Postman propose plusieurs façons d’automatiser le lancement automatique des tests API.

Lancer ses tests API via le Collection Runner de Postman

La première option pour lancer ses tests API de façon séquentielle est d‘utiliser le Collection Runner de Postman. Cette fonctionnalité permet de lancer les requêtes d’une collection les unes après les autres. Postman exécutera les tests dans l’onglet correspondant pour chaque requête.

Exemple de lancement d’une suite de test api via le collection runner de postman

Lancer ses tests API régulièrement avec Postman Monitors

La fonctionnalité Postman Monitor est disponible avec la version PRO de Postman. Toutefois, vous pouvez faire jusqu’à 1 000 appels API par mois avec la version gratuite. Postman Monitor est une fonctionnalité qui permet d’exécuter une collection à intervalles réguliers afin de s’assurer qu’elle reste fonctionnelle et passe toujours les tests.

Comment ajouter un Postman Monitor:

Ajout d’un postman monitor pour lancer son test API

Le compte rendu Postman Monitor:

Postman met à votre disposition un compte rendu de l’ensemble des appels avec le résultat des tests et le temps de réponse.

Exemple de compte rendu de Postman Monitor pour ses tests API

Des tests API en ligne de commande avec Newman

Newman est un package npm qui permet d’exécuter des collections Postman via le terminal. L’intérêt est de pouvoir l’installer sur votre pipeline d’intégration continu afin d’y exécuter les collections Postman contenant les tests API.

Pour installer Newman, tapez la commande suivante dans votre terminal:

npm install -g newman

Récupérer sa collection depuis Postman

Pour pouvoir lancer depuis votre terminal la collection, il faut la récupérer depuis Postman. Deux solutions s’offrent à vous. L’exporter en JSON et charger le fichier en CLI ou utiliser la fonction partager l’URL de Postman

Collection de test pour Newman

Pour lancer la collection, saisissez la commande: newman run <url>

Lancer les tests Newman avec la commande newman run <url>

Comme vous le voyez, Newman ne récupère pas automatiquement les variables d’environnement Postman. Là encore, vous pouvez récupérer le fichier JSON et l’intégrer en utilisant la commande :

newman run <url> -e <fichier_environnement.json>

ou bien:

newman run <url> -e https://api.getpostman.com/environments/<environment_uuid>\?apikey\=<apiKey> >
Lancement d’une collection Newman depuis le terminal

Autres ressources:

Rayed Benbrahim

Recent Posts

Tout savoir sur la question d’agrément CIR/CII pour les freelances en informatique

Dans le cadre de leurs développements, les entreprises se tournent de plus en plus vers…

2 semaines ago

Les 20 langages de programmation à apprendre en 2024

La vie des informaticiens consiste à apprendre différents langages de programmation et technologies. Et si…

1 mois ago

De développeur à manager à coach professionnel : portrait d’Eric

Dans cet épisode, partons à la rencontre d’Eric, l'un des cofondateurs de l’entreprise Hektore, une…

1 mois ago

Classement QCM saison Printemps 2024 : Règlement et informations

La saison hiver des QCMs WeLoveDevs s'est terminée le 29 février, et c'est Manuvai Rehua…

2 mois ago

Résultat du baromètre de l’AFUP : Augmentation des salaires chez les hommes

Après trois mois d'enquête, du 18 septembre au 18 décembre, l'AFUP a publié son baromètre.…

2 mois ago

Manuvai Rehua est le Champion de la saison Hiver [QCM]

Il y a plusieurs informations aujourd'hui. La première c'est que c'est la fin de l'Hiver…

2 mois ago