how when use postman pre request
Dans ce didacticiel, nous expliquerons comment et quand utiliser les scripts de pré-demande Postman et les scripts ou tests de post-demande à l'aide d'exemples simples:
Par analogie avec le monde des tests unitaires, le script de pré-requête n'est rien d'autre que la configuration qui se produira avant qu'un test ne soit exécuté. De même dans Postman, si vous souhaitez modifier la requête d'une certaine manière, le script de pré-requête est l'endroit où placer la logique ou le code qui garantit avant le début de l'exécution de la requête.
=> Regardez la série de formation Simple Postman ici.
Ce que vous apprendrez:
Flux de demande de facteur
Tout d'abord, essayons de comprendre comment Postman active ou autorise l'exécution des scripts de pré-test et de test dans le contexte de l'exécution de la requête. Postman a un moteur d'exécution puissant basé sur Node JS qui permet d'ajouter des capacités de script avant et après l'exécution de la requête.
Les scripts ne sont rien d'autre que du code Javascript que le bac à sable Postman comprend et exécute comme souhaité.
Reportez-vous à la figure ci-dessous pour comprendre le flux de demande du facteur.
logiciel de sauvegarde informatique gratuit sur disque dur externe
Voici un didacticiel vidéo:
Le script de pré-requête est le point d'entrée pour l'exécution de la requête dans Postman. S'il y a un script / logique ajouté dans le cadre du script de pré-demande qui est exécuté en premier après quoi l'exécution de la demande réelle a lieu et une fois la réponse reçue, les tests ou les scripts de post-demande sont exécutés.
Scripts de pré-demande
Les scripts de pré-demande sont une logique ou un morceau de code dont l'exécution est garantie avant le début de l'exécution de la demande. Il permet d'ajouter un comportement dynamique à l'exécution des requêtes.
Il est important de noter ici que les scripts de pré-demande peuvent également être appliqués au niveau de la collection, ce qui signifie indirectement qu’un script de pré-demande s’appliquera à toutes les demandes qui font partie de cette collection.
Veuillez vous reporter à la figure ci-dessous pour voir le flux de requête lorsque le script de pré-requête et les tests de niveau collection sont présents.
Quand utiliser les scripts de pré-demande?
Les scripts de pré-requête sont généralement utiles lorsqu'un prétraitement est nécessaire avant qu'une requête ne soit exécutée.
#1)Par exemple, supposons que votre demande attend un jeton de sécurité qui doit être récupéré à partir d'un serveur tiers et que cette valeur change à chaque exécution de la demande, elle ne pourra pas non plus être conservée avec les variables d'environnement / globales.
Les scripts de pré-demande sont l'endroit idéal pour exécuter une telle logique, puis utiliser la même chose avec l'exécution de la demande.
Voyons un exemple d'utilisation du script de pré-requête dans ce cas. Nous utiliserons le même point de terminaison de l'API GET pour illustrer https://reqres.in/api/users/{(randomVal}}
Ici {{randomVal}} est un entier aléatoire compris entre 1 et 10 qui serait calculé dans le script de pré-requête.
Voici le flux de script.
- Ajoutez une logique dans l'onglet de script de pré-demande. Génère un nombre aléatoire compris entre 1 et 10.
var random = Math.floor(Math.random() * 10); pm.variables.set('randomVal',random)
- Stockez le nombre aléatoire généré dans un environnement ou une variable locale. Dans l'extrait de code ci-dessus, vous pouvez voir que nous avons généré une valeur aléatoire comprise entre 1 et 10 et l'avons stockée dans une variable locale nommée 'randomVal'.
- Utilisez la variable d'environnement dans le cadre du corps de la requête.
- Exécutez la demande.
- Validez le résultat. Vous pouvez essayer d'appuyer plusieurs fois sur la demande et voir la demande obtenir un succès pour différentes valeurs de userIds qui ont été générées via le pré-script de variable aléatoire.
#deux) Les scripts de pré-demande sont également utiles lorsque vous souhaitez certaines opérations liées à l'en-tête. Par exemple, en-tête de demande qui attend un identifiant de session qui doit être généré aléatoirement et qui nécessite d'autres conversions comme le codage en base 64 ou le traitement en général.
Utilisation de scripts de pré-demande et de post-demande avec des collections
Comme indiqué ci-dessus, les scripts de pré-demande peuvent également être appliqués au niveau de la collection. Ces scripts s'appliqueraient à toutes les demandes disponibles dans la collection. Semblables aux scripts de pré-requête, des tests ou des scripts de post-requête peuvent également être appliqués à une collection.
Examinons une illustration des scripts et des tests de pré-requête au niveau de la collection, et voyons les scripts entrer en action pour chacune des requêtes de la collection.
Nous utiliserons une collection Postman avec 2 requêtes avec les points de terminaison de test suivants.
- OBTENIR https://reqres.in/api/users/1
- PUBLIER https://reqres.in/api/register avec le corps de la demande en JSON avec 2 champs, c'est-à-dire emailId et mot de passe.
Nous ajouterons les scripts de niveau collection suivants pour ces requêtes.
- Pré demande: Ajoutez un nouvel en-tête nommé «Content-Type» et définissez la valeur de l'en-tête sur «application / json».
- Test: En tant que validation de test ou de post-demande, nous vérifierons si la réponse renvoyée a le code de statut HTTP 200 ou non.
Veuillez suivre les étapes ci-dessous
#1) Créez une nouvelle collection Postman avec les requêtes GET et POST ci-dessus.
#deux) Clic-droit Collection -> Sélectionnez Modifier pour ajouter des scripts et des tests de pré-demande au niveau de la collection.
à) Pour le script de pré-demande, sélectionnez l'onglet Scripts de pré-demande dans la fenêtre d'édition de la collection et ajoutez le script ci-dessous (ce script ajoutera un en-tête nommé «Content-Type» avec la valeur application / JSON pour toutes les demandes de la collection) .
pm.request.headers.add({ key: 'Content-Type', value: 'application/json' });
b) Pour ajouter des tests ou un script de post-demande, ajoutez le script ci-dessous dans l'onglet «Tests». (Ce script ajoutera un test pour valider la réponse avec HTTP Status 200 pour toutes les requêtes présentes à l'intérieur de la collection).
outils de test de services Web open source
pm.test('Status code is 200', function () { pm.response.to.have.status(200); });
c) Une fois les scripts ajoutés, cliquez sur «Mettre à jour» pour enregistrer les modifications effectuées.
# 3) Maintenant, essayons d'exécuter les requêtes à l'intérieur de la collection et voyons si les scripts de pré-requête et les tests spécifiés au niveau de la collection sont correctement configurés ou non.
# 4) Ouvrez la première requête GET et exécutez-la en cliquant sur le 'Envoyer' bouton. Pour afficher les en-têtes de requête, nous pouvons utiliser la console Postman, qui affiche les détails complets de la requête-réponse pour toutes les requêtes qui passent par l'application Postman.
Nous discuterons de la console Postman en détail plus tard, mais dans ce tutoriel, nous l'utiliserons simplement pour valider les en-têtes de requête.
Pour ouvrir la console, cliquez sur l'icône de la console en bas à gauche de l'application Postman ou sélectionnez l'option console dans le menu Fenêtre (veuillez noter que des options similaires sont disponibles pour le système d'exploitation Windows ainsi que pour l'application Postman).
# 5) Pour valider les scripts ou tests post-requête, il vous suffit de valider l'onglet «Tests» de la requête exécutée et vous devriez voir le test de validation du code de statut qui a été ajouté au niveau de la collection à 200.
Avec les scripts de niveau collection, nous avons atteint,
- L'ajout de scripts et de tests de pré-demande au niveau de la collection facilite leur maintenance. Exemples, inclure l'ajout d'en-têtes communs à toutes les demandes, la génération de jetons de session pour les demandes via le tiers, etc.
- Des scripts / tests courants tels que la validation des codes de réponse peuvent être placés au niveau de la collection pour éviter la répétition.
Conclusion
Dans ce didacticiel, nous nous sommes concentrés sur les scripts et les tests de pré-requête ou sur les scripts de post-requête. Nous avons également parcouru un exemple d'utilisation de ces scripts au niveau de la collection pour éviter la répétition et placer des scripts communs au niveau de la collection lui-même.
Les scripts de pré-demande et les tests sont une fonctionnalité très puissante et importante de Postman et ils ajoutent beaucoup de valeur à la création d'un test d'intégration de bout en bout, en particulier pour les points de terminaison d'API basés sur REST.
=> Visitez ici pour apprendre Postman From Scratch.
lecture recommandée
- Tutoriel POSTMAN: Test d'API avec POSTMAN
- Comment utiliser Postman pour tester différents formats d'API?
- Automatisation de la validation des réponses avec des assertions dans Postman
- Travailler avec une requête FTP dans JMeter
- Post-processeur Xpath Extractor dans JMeter
- Un guide SoapUI rapide pour stocker les données de demande et de réponse dans un fichier - Tutoriel SoapUI # 15
- Utilisation du post-processeur dans JMeter (extracteur d'expressions régulières)
- Collections Postman: importez, exportez et générez des échantillons de code