Je suis nouveau au postman et je suis confronté à un problème récurrent que je ne peux pas comprendre. J'essaie d'exécuter la même demande à plusieurs reprises à l'aide d'une gamme de données établies sur le script de pré-demande, toutefois, lorsque je vais au coureur, la demande ne fonctionne qu'une seule fois, plutôt que 3 fois.
Script de pré-demande:
var uuids = pm.environment.get(“uuids”);
if(!uuids) {
uuids= [“1eb253c6-8784”, “d3fb3ab3-4c57”, “d3fb3ab3-4c78”];
}
var currentuuid = uuids.shift();
pm.environment.set(“uuid”, currentuuid);
pm.environment.set(“uuids”, uuids);
TESTS:
var uuids = pm.environment.get(“uuids”);
if (uuids && uuids.length>0) {
postman.setNextRequest(myurl/?userid={{uuid}});
} else {
postman.setNextRequest();
}
J'ai examiné la question concernant la documentation et je ne trouve pas ce qui ne va pas avec mon code.
Merci!
Le script de pré-demande n'est pas un bon moyen de tester API avec des données différentes. Mieux vaut utiliser le coureur de facteur pour la même chose.
Premièrement, préparez une demande avec facteur avec des données variables. Pour par E.g
Ensuite, cliquez sur l'onglet Runner
Préparer le fichier CSV avec des données
uuids
1eb253c6-8784
d3fb3ab3-4c57
d3fb3ab3-4c78
Et fournir en tant que fichier de données et exécutez l'échantillon.
Cela vous permettra d'exécuter la même API, plusieurs fois avec différents types de données et peuvent vérifier les cas de test.
Vous êtes si proche! La question est que vous n'êtes pas non définissant votre variable d'environnement pour uuids
, il s'agit donc d'une liste vide au début de chaque exécution. Ajoutez simplement pm.environment.unset("uuids")
à votre relevé de sortie et il devrait fonctionner tous les trois fois. Tout spécifiez la demande suivante doit arrêter l'exécution en le définissant sur null
.
Donc, vos nouveaux "tests" deviendront:
var uuids = pm.environment.get(“uuids”);
if (uuids && uuids.length>0) {
postman.setNextRequest(myurl/?userid={{uuid}});
} else {
postman.setNextRequest(null);
pm.environment.unset("uuids")
}