gpt4 book ai didi

javascript - 如何阻止 undefined variable 在 Postman 上发送?

转载 作者:行者123 更新时间:2023-11-29 18:43:09 25 4
gpt4 key购买 nike

我正在使用 Postman 在 API 上运行测试,使用 CSV 文件作为外部文件数据。 CSV文件中有多个数据集,数据量不同,有的有数据,有的没有。当我运行 collection runner 并且它运行第一个数据集时,它失败了,因为有 undefined variable 并且 API 抛出数据错误。

在 CSV 中

  1. 数据集1

    • 订购,客户编号,条形码 1,数量 1,单价 1
  2. 数据集2

    • 订购,客户编号,条形码 1,数量 1,单价 1,条形码 2,数量 2,单价 2
  3. 数据集3

    • 订购,客户编号,条形码 1,数量 1,单价 1,条形码 2,数量 2,单价 2,条形码 3,数量 3,单价 3
In the body I've added that extra variables in case it is available in a data set.

{
"order" : "{{orderId}}",
"clientId" : "{{clientId}}",
"skus" : [
{
"barcode": {{barcode1}},
"quantity": {{quantity1}},
"unitPrice": {{price1}}
},
{
"barcode": {{barcode2}},
"quantity": {{quantity2}},
"unitPrice": {{price2}}
},
{
"barcode": {{barcode3}},
"quantity": {{quantity3}},
"unitPrice": {{price3}}
}
]

}

这是响应:

{
"order" : "1000305408",
"clientId" : "30",
"skus" : [
{
"barcode": 123123123,
"quantity": 1,
"unitPrice": 100
},
{
"barcode": {{barcode2}},
"quantity": {{quantity2}},
"unitPrice": {{price2}}
}
]
}

有没有办法阻止那些 undefined variable 键和数据,同时仍然将它们保留在正文中,以防万一新数据集有变量?

最佳答案

我们可以使用上传的 CSV 文件动态找出存在的集合数。

我只是检查那里有多少条形码集并使用它,我正在准备一个 setCount,它将用于循环数据并创建 skus 项目。

预请求脚本:

_ = require('lodash');

// Here we'll know how many unit counts we have, I am checking barcode only.
let setCount = _.chain(data) // data is the actual iteration data from the csv file, don't worry just run the script.
.keys()
.countBy((item) => item.includes('barcode'))
.value()
.true,

skus = [];


for(var i = 1; i <= setCount; i++) {
skus.push({
barcode: data[`barcode${i}`],
quantity: data[`quantity${i}`],
unitPrice: data[`unitprice${i}`]
});
}

let requestBody = {
order: data["orderId"],
clientId: data["clientId"],
skus: skus
};

pm.variables.set('requestBody', JSON.stringify(requestBody));

在您的请求正文 选项卡中执行以下操作:

使用 JSON 将 body 设置为 raw 并添加 {{requestBody}} 作为 body 中的变量。

如有不明之处可引用截图。 raw json body

关于javascript - 如何阻止 undefined variable 在 Postman 上发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55649051/

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