Test API: Comment tester son API avec les tests Postman

Rayed Benbrahim

Publié le 2 juillet 2020

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 fait 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

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

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

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

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

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>

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

Lancement d'une collection Newman depuis le terminal

Autres ressources:

Derniers articles

Le dernier né des bases de données AWS, MemoryDB for Redis allie la souplesse et rapidité de Redis avec une sauvegarde résiliente, chose qui aujourd'hui n'existait que pour la solution Redis Entreprise. Avec MemoryDB for Redis, AWS entend bien prendre une part du gâteau de Redis Labs.

MongoDB a mis en service la version 5.0 de sa base de données NoSQL. Dans cet article, découvrez les nouveautés qu'apporte cette release ainsi que leurs explications.

Dans l'univers du Big Data et du Cloud, Snowflake a vu le jour en étant le premier fournisseur d'un Data Warehouse sur le cloud 100% scalable. Dans cet article, découvrez ce qu'est un Data Warehouse et en quoi Snowflake est une solution innovante pour les entreprises.

Souvent portée par une équipe d'analystes, la QA vient supporter l'équipe tech pour assurer que les évolutions en cours de développement et récemment déployés ne viennent pas perturber l'application. Dans cet article, découvrez comment les méthodes Shift-Left et Shift-Right viennent se complémenter pour assurer un bon niveau de qualité du logiciel déployé.

Docker Desktop est le client permettant de faire tourner des containers depuis son poste. Découvre ce tutoriel pour installer Docker sur ton Mac et faire tourner tes premiers containers.

Docker Desktop est le client permettant de faire tourner des containers depuis son poste. Découvre ce tutoriel pour installer Docker sur ton PC Windows et faire tourner tes premiers containers.

Les Jobs