Practical Programming
test api automatisés via postman

Test API: Comment tester son API avec les tests Postman

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

Dans cet onglet, vous pourrez écrire votre code de test API. Sur la droite, Postman vous propose des snippets de tests prêt à 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 croit, 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çon 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’à 1000 appels API par mois avec la version gratuite. Postman Monitor est une fonctionnalité qui permet d’effectuer d’exécuter une collection à intervalles régulier 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

Pour lancer la collection, saisissez 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> >

Autres ressources:

Rayed Benbrahim

Rayed Benbrahim

Développeur freelance Node.JS depuis 2017, j'ai créé le media Practical programming afin d'aider les développeurs web dans l'avancé de leur carrière de débutant à senior.

Commenter

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.

Most popular

Most discussed