当前位置: 首页 > 知识库问答 >
问题:

如何在postman/newman中传递字符串环境变量

蒋俊
2023-03-14

我在postman中有2个chanined请求,第一个执行GET以列出所有数据,然后根据返回的值设置环境变量。第二个请求尝试使用环境变量作为字段值的 POST。

请求1

GET/客户$选择=参考

通过测试

tests["Status code is 200"] = responseCode.code === 200;

var data = JSON.parse(responseBody);
var ref = 0;

for (i = 0; i < data.length-1; i++) { 
    if (data[i].reference == ref.toString()){
        ref++;
        postman.setEnvironmentVariable("reference", ref);
    }
}

此时,环境变量< code>reference的值为5

请求 2

开机自检/客户

带主体:

{
    "reference": "{{reference}}",
    "name": "Name"
}

这可以通过Postman的GUI正常工作,但是当从命令行Newman运行时,当请求到达API时,引用的值是{{引用}}不是5如预期的那样。

我执行了相同类型的替换,环境变量直接从返回的数据中设置

postman.setEnvironmentVariable('reference', data.reference);

这部作品不是《邮递员》就是《纽曼》。

有人能帮助解释为什么在这样的脚本块中设置变量会失败吗?

共有1个答案

萧建木
2023-03-14

问题出在环境变量的设置上,它没有被设置。此设置应该在for循环之外:

tests["Status code is 200"] = responseCode.code === 200;

var data = JSON.parse(responseBody);
var ref = 0;

for (i = 0; i < data.length-1; i++) { 
    if (data[i].reference == ref.toString()){
        ref++;
    }
}

postman.setEnvironmentVariable("reference", ref); // <--- This
 类似资料:
  • 问题内容: 我正在尝试将有角度的应用程序从gulp转换为webpack。在gulp中,根据NODE_ENV,我使用gulp- preprocess替换html页面中的某些变量(例如,数据库名称)。使用webpack达到类似结果的最佳方法是什么? 问题答案: 有两种基本方法可以实现此目的。 定义插件 请注意,这只会按原样替换匹配项。这就是字符串具有其格式的原因。您可能有一个更复杂的结构,例如那里的一

  • 我需要在Dockerfile中传递环境变量,如下所示。我可以知道做这件事的有效方法吗。我尝试使用构建参数 但它没有用。 这是我的 Dockerfile 所以当我运行我的docker容器时,我相信我不想向它发送任何环境变量。 请指教。

  • http://www.codeguru.com/cpp/w-p/win32/tutorials/article.php/c10849/Setting-a-System-Environment-Variable.htm 发送消息(HWND\u广播,WM\u设置更改,0,(LPARAM)“环境”); JNA和windows xp:调用以通知环境已更改 见链接:twall.github.com/jna/

  • 我正在使用Postman的打包应用程序版本来针对我的Rest API编写测试。我正在尝试管理连续测试之间的状态。为了方便起见,向Javascript测试运行时公开的Postman对象有设置变量的方法,但没有用于读取的方法。 现在,我可以在下一次调用中通过{{key}}结构读取这个值,该结构从当前环境中获取值。但是,这在测试中不起作用;它只在建筑材料中起作用。 那么,有没有人可以从测试中读到这些东西

  • 问题内容: 我有一个代表路径的字符串。由于此应用程序在Windows,OSX和Linux上使用,因此我们定义了环境变量以正确映射来自不同文件系统的卷。结果是: 我想做的是评估字符串中的环境变量,以便将它们替换为各自的卷名。我是否缺少特定的命令,还是必须采取并手动替换字符串? 问题答案: 使用os.path.expandvars扩展字符串中的环境变量,例如:

  • 问题内容: 如何在sql查询中传递java字符串变量。我已经完成了所有JDBC连接。 我的SQL数据库查询是 它不起作用。但是,如果我执行以下代码,其工作原理 现在告诉我如何将变量名传递给sql查询以执行此操作。Jst告诉我如何将变量locationnames传递给comp.name。 我完整的Java函数如下所示:locationCombo表示在组合框中选择的项目。CropCombo也表示相同的