web-dev-qa-db-fra.com

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

J'utilise Postman, la version fournie de l'application, 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é au temps d’exécution du test Javascript dispose de méthodes pour définir les variables, mais aucune pour la lecture.

postman.setEnvironmentVariable("key", value );

Maintenant, je peux lire cette valeur lors du prochain appel via la structure {{clé}} qui aspire les valeurs de l'environnement actuel. MAIS, cela ne fonctionne pas dans les tests; cela ne fonctionne que dans la construction de requêtes.

Alors, est-il possible de lire ces informations à partir des tests?

63
chad

Selon la documentation ici vous pouvez utiliser

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

pour y accéder.

c'est à dire;

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;
88
gooddadmike

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

Une fois qu'une variable a été définie, utilisez la méthode pm.variables.get() ou, alternativement, utilisez la méthode pm.environment.get() ou pm.globals.get(), en fonction de la portée appropriée pour extraire la variable. La méthode nécessite le nom de variable en tant que paramètre pour extraire la valeur stockée dans un script.

6
J.Lin