gpt4 book ai didi

arrays - 如何将数组值存储在 Postman 的环境变量中

转载 作者:行者123 更新时间:2023-11-28 21:36:18 28 4
gpt4 key购买 nike

我正在使用 postman 来自动化 API。

现在我正在使用以下请求,让我们说:-

{
"customerId": "{{currentClientId}}"
}

其中 clientid 是一个动态变量,其值被动态替换为 1 , 2, 3,4 等等。我在此示例中使用 setNextRequest 调用多次调用此请求,例如 10。这是使用计数器变量完成的。我正在将我之前请求中的计数器初始化为 0,并使用值为 10 的 for 循环调用请求 10 次。正文中没有响应只是成功的 http 代码 204。

我想将请求中的所有这些 clientid 存储到一个环境 Client 数组变量中,所以我写了以下 pre-request script:-

counter = pm.environment.get("counter");
ClientArray = pm.environment.get("ClientArray");
ClientArray.push(pm.environment.get("currentClientId"));
pm.environment.set("ClientArray",ClientArray);

测试脚本中,写了如下代码:-

counter = pm.environment.get("counter");

if(counter<=10) {
console.log("hi");
postman.setNextRequest("Request");
counter++;
pm.environment.set("counter",counter);
console.log("Counter",counter);
}

上面的scipts是throwing类型错误 | ClientArray.push 不是函数。

有人可以建议如何实现这一点。

最佳答案

当您从环境变量中检索值时,就像您正在做的那样:

ClientArray = pm.environment.get("ClientArray");

你得到的不是一个数组,而是一个字符串,这就是你得到那个错误的原因。您需要像对待字符串一样对待变量,像对待计数器一样追加 currentClientId。像这样的东西:

var currentClientIds = pm.environment.get("ClientArray");
currentClientIds = currentClientIds + "," + currentClientId

当你完成追加后,即在你的循环之外,只需获取字符串并将其转换为数组:

var currentClientIds = pm.environment.get("ClientArray");
var idsArr = curentClientIds.split(',');

关于arrays - 如何将数组值存储在 Postman 的环境变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58457584/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com