4-1 Premier test Postman
Postman permet d'exécuter des tests automatisés pour les requêtes D'API. Cela permet, entre autres, de:
- Vérifier que le résultat (contenu reçu) est celui attendu
- Vérifier le code de retour (200, 404, etc.)
- Vérifier que la requête est un succès
- Etc.
Les tests sont écrits en JavaScript, utilisant une syntaxe propre à Postman via l'utilisation d'une variable pm
qui expose un objet JavaScript.
La documentation complète Postman sur les tests est disponible ici:
Comme premier test, utilisons la requête permettant d'obtenir la liste de projets, soit Obtenir liste de projets
et utilisant l'URL suivante: {{baseUrl}}/projets
.
Accéder à l'onglet Tests
Lorsque dans une requête, vous remarquerez qu'il existe un onglet Scripts
avec une section Post-res
(pour Post Response
, après la réponse).
C'est dans cet onglet et cette section que vous pourrez écrire votre code JavaScript pour tester les requêtes.
Écrire un test
Un test de base a la structure suivante:
pm.test("Le code de réponse est 200", function () {
pm.response.to.have.status(200);
});
Décortiquons le tout ensemble:
pm.test
est une fonction postman pour exécuter un test et prends 2 arguments1er argument
: Le nom du test (ce qu'on désire vérifier)."Le code de réponse est 200"
dans l'exemple, est le nom du test, soit ce qui doit être vérifié2e argument
: une fonction anonyme qui contient le test à exécuter- Contenu de la fonction: des vérifications à effectuer sur le retour de la requête.
pm
La variable pm
(pour PostMan
) expose un objet JavaScript contenant plusieurs propriétés permettant d'accéder au contenu de la requête ou encore de contrôler l'exécution d'un test (ex.: pm.test
, pm.expect
, .to.be.not.empty
, etc.)
Exécuter le test
Lors de l'envoi de la requête, via le bouton Send
, les tests dans l'onglet Tests
sont automatiquement exécutés.
Dans la portion Response
dans le bas, un onglet Test Results
vous renseignera sur l'état des tests.
Vérifier la réponse
Pour vérifier le retour d'une requête, on peut utiliser l'objet pm.response
dans le test.
Plusieurs fonctions et objets sont disponibles sur pm.response
et l'autocomplétion de Postman
peut vous aider:
Vérifier le code de retour
Dans l'exemple précédent, on vérifie que la réponse a le code 200
:
pm.test("Le code de réponse est 200", function () {
pm.response.to.have.status(200);
});
Vérifier que la réponse est OK
(200)
Postman fournit une façon simple de vérifier que la requête est un succès, par exemple:
pm.test("La réponse est un succès", function () {
pm.response.to.be.ok;
});
Vérifier que la réponse contient du JSON
pm.test("La réponse est un succès et contient du JSON", function () {
pm.response.to.be.ok;
pm.response.to.be.withBody;
pm.response.to.be.json;
});
Ce test vérifie que:
pm.response.to.be.ok
Le code de retour est bien OK (200)pm.response.to.be.withBody
La réponse contient un body (n'est pas vide)pm.response.to.be.json
Le body de la réponse est du JSON (et donc pas autre chose comme du HTML ou du XML, par exemple)