Bonjour Stackers,
J'essaie d'automatiser ma suite de tests dans Postman afin de ne pas avoir à entrer manuellement dans chaque demande et à changer cette valeur d'en-tête en ce que j'ai initialement mis dans la première demande.
Ma suite de tests ressemble actuellement à:
Première demande:
var headerValue = postman.setGlobalVariable('Number', headerValue);
console.log("Number is: " + headerValue);
Deuxième en-tête de demande:
Number - {{headerValue}}
Je m'attendrais à ce que headerValue ait la valeur de 'Number' puisque je l'ai défini comme une variable globale mais il revient comme non défini. Je ne suis pas sûr de ce que je fais mal.
Voici comment procéder
Si Refresh_token est la valeur d'en-tête
postman.setGlobalVariable("refresh_token",postman.getResponseHeader("Refresh_token") );
Documentation officielle: https://www.getpostman.com/docs/postman/scripts/test_examples
Il semble que la réponse de @ Sai ne fonctionne plus, puisque getResponseHeader
est désormais obsolète. Le code mis à jour est:
pm.test("First request", function() {
let headerValue = pm.request.headers.get("Number")
pm.globals.set("Number", headerValue);
});
Dans la deuxième requête, accédez à la section Headers
, ajoutez un nouvel en-tête avec Number
comme clé et {{Number}}
comme valeur.
Non, essayez de cette façon. Pour Postman, si vous voulez définir un environnement ou une variable globale, utilisez simplement le motif (clé, valeur) de cette façon-
postman.setEnvironmentVariable(key,value) or
postman.setGlobalVariable(key,value)
et enfin les récupérer en utilisant {{key}}
var headerValue = ”your value goes here”;
postman.setGlobalVariable('Number', headerValue);
et utilisez {{Number}} sur votre sous-en-tête de demande subséquent