Comment lire les variables d'environnement dans les tests Postman?

J'utilise la version packagée de Postman pour écrire des tests sur mon API Rest. J'essaie de gérer l'état entre les tests consécutifs. Pour faciliter cela, L'objet Postman exposé à L'exécution de test Javascript a des méthodes pour définir des variables, mais aucune pour la lecture.

postman.setEnvironmentVariable("key", value );

Maintenant, je peux lire cette valeur dans le prochain appel via la structure {{key}} qui aspire les valeurs de l'environnement actuel. Mais, cela ne fonctionne pas dans les tests; cela ne fonctionne que dans le bâtiment de la requête truc.

Alors, est-il loin de lire ce genre de choses des tests?

54
demandé sur chad 2014-01-29 02:45:29

2 réponses

Selon les docs ici vous pouvez utiliser

environment["foo"] OR environment.foo
globals["bar"] OR globals.bar

Pour y accéder.

Ie;

postman.setEnvironmentVariable("foo", "bar");

tests["environment var foo = bar"] = environment.foo === "bar";

postman.setGlobalVariable("foobar", "1");

tests["global var foobar = true"] = globals.foobar == true;

postman.setGlobalVariable("bar", "0");

tests["global var bar = false"] = globals.bar == false;
78
répondu gooddadmike 2016-03-11 03:27:17

Postman a mis à jour son bac à sable et a ajouté une API pm.*. Bien que l'ancienne syntaxe de lecture des variables dans les scripts de test fonctionne toujours, selon les documents :

Une fois qu'une variable a été définie, utilisez la méthode pm.variables.get() ou, vous pouvez également utiliser pm.environment.get() ou pm.globals.get() méthode selon la portée appropriée pour récupérer la variable. Le la méthode nécessite le nom de la variable en tant que paramètre pour valeur stockée dans un script.

3
répondu J.Lin 2018-05-07 04:14:35