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

MICI au travail : Le handicap invisible qui révèle des forces insoupçonnées

Les maladies inflammatoires chroniques de l’intestin ou "MICI" sont invisibles, mais leurs impacts sur la…

1 jour ago

Exploiter les NPUs pour de l’IA embarquée dans les applis webs

Depuis l'été, j'ai un Pixel qui intègre à la fois un TPU (Tensor Processing Unit)…

5 jours ago

Qcm saison hiver 2024 : toutes les infos.

On se retrouve dans un nouvel article avec toutes les infos sur cette nouvelle saison…

3 semaines ago

L’inclusion numérique est essentielle.

Pourquoi l’inclusion numérique est essentielle : le point avec Mathieu Froidure. Dans un monde de…

3 semaines ago

Communauté Tech et féminine : Interview avec Helvira de Motiv’her

Elles sont passées où les femmes dans la tech ? Entre le manque de représentation…

1 mois ago