我正在使用Postman的打包应用版本来编写针对我的Rest API的测试。我试图在连续测试之间管理状态。为了实现这一点,暴露给Javascript测试运行时的Postman对象具有设置变量的方法,但没有用于读取的方法。
postman.setEnvironmentVariable("key", value );
现在,我可以通过从当前环境中吸取值的{{key}}结构在下一次调用中读取此值。但是,这在测试中不起作用;它只适用于请求构建的东西。
那么,是否可以从测试中读取这些内容?
答案 0 :(得分:85)
根据文档here,您可以使用
environment["foo"] OR environment.foo
globals["bar"] OR globals.bar
访问它们。
即;
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;
答案 1 :(得分:5)
Postman更新了他们的沙箱并添加了pm.*
API。虽然根据docs:
设置变量后,使用
pm.variables.get()
方法或, 或者,使用pm.environment.get()
或pm.globals.get()
取决于获取变量的适当范围的方法。该 method需要变量名作为参数来检索 存储在脚本中的值。