使用 POSTMAN 或任何其他方式批量 POST/PUT API 请求

Bulk POST/PUT API requests using POSTMAN or any other means

我有一个 API 请求的列表,这些请求已经是 URL 格式。我只需要一个接一个自动 POST 它们并记录它们的结果。

我唯一能做的就是复制每个 url 并使用邮递员发送它们。但是真的很费时间。我试着查看任务运行器,但似乎很难将变量设置为等于我所有请求的数据文件

https://someApi/clientAssign?auth=123|asdf&otherParamsList=123Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=456Params
https://someApi/clientAssign?auth=123|asdf&otherParamsList=899Params

我不确定使用邮递员一个接一个地触发上述 url 的方法。我有大约 60 个 POST 请求和 60 个 PUT 请求

任何人都可以提出实现此目标的方法。我可以通过复制 url 并手动发布它们来完成。我只是不能经常花这么多时间做这件事。而且我已经花时间准备 url 并替换了适当的值并准备就绪。任何帮助表示赞赏。

没关系,我想出了一个方法来使用 post 人的 collection 运行ner 来完成同样的事情。 对于那些像我一样挣扎的人,这里是如何使用该功能,它更容易在旅途中将值替换为您的 url。

首先在 Postman 中创建一个请求:

下面是示例的屏幕截图:

现在的要求是 post 下面 url: https://someApiPOSTRequest/clientAssign?auth=123|asdf&otherParamsList=123Params&someOtherParams={{VariableFromFile}}&additionalParams=hardcodedOnURL

用您需要上传的 csv 文件中的值替换 {{VariableFromFile}}。您的 csv 格式应如下所示,其中 header 应与您的 url:

中使用的变量名称相同

单击示例文件夹旁边的“>”按钮,然后单击 'Run' 在 Collection 运行ner[=59= 上打开相同的内容] window 的 post 人:

一旦 Collection 运行ner window 打开,点击 select 文件 选项上传你的 csv 文件,并且 Iterations 字段默认为 pre-filled 以及 csv 文件上的记录数。您可以更改数字,当您这样做时,请确保您想要 运行 的迭代次数,因为它与您上传的 csv 中的行数直接相关。

您还可以预览上传的 csv 文件:

如果您单击 运行 示例 按钮,collection 运行 和 post 是 url 9 次,{{VariableFromFile}} 每次迭代都用 csv 文件中的值替换。

您可以替换更多的变量,只需再增加一列相关的变量名称,并在您的 api 调用中使用相同的变量即可。就这么简单。它确实为我减少了很多手工工作!!

你也可以参考下面的link,它指导我在Postman中使用这个功能。 Link

希望这对某人有所帮助。

我找到了将原始数据添加为 JSON 的解决方案。 来自 Body > raw

[
  {
    "text": "Buy Milk",
    "completed": true
  },
  {
    "text": "Check updated of wall street",
    "completed": false
  },
  {
    "text": "Play game with team",
    "completed": true
  }
]

很多开发人员会使用 chethandb 的答案,但问题(如果像我一样)不仅要大量执行请求,还要在某处保存响应。

  • 初始请求

RECIPIENTACCOUNT 是 variable/parameter 在 CSV 中使用并传递到每个请求中。

  • 正在更新初始请求

将以下代码添加到选项卡测试中:

let responses = pm.collectionVariables.get('collectionResponses')
if(responses) {
  responses = JSON.parse(responses);
} else {
  responses = []
}

responses.push(pm.response.json());
pm.collectionVariables.set('collectionResponses', JSON.stringify(responses));

制作一个包含参数的 csv(在我的例子中是客户的 ibans)。

/home/rudy/Desktop/recipientaccount.csv

我不会透露我们客户的收件人号码。

重要的是要注意 RECIPIENTACCOUNT 在请求中用作参数。
那么你就可以开始了。

  • 执行请求

点击右边的箭头(不显示,因为它消失了)。

点击 运行。一个新的 windows 已打开。

单击'select File' 进行文件选择并选择(例如)recipientaccount.csv。
点击 'Save reponses'。
更改'Iterations'(如果需要)。
如果你愿意,你可以'preview'。
单击蓝色按钮(在我的示例中为 运行 客户可达性)。
请求被执行(顺序)。

我已将请求数量限制为 3(图片显示为“1”,抱歉) 3个请求全部正确执行。

  • 现在是得出结果的时候了。

关闭 'collection runner' window。
返回'Customer Reachability'


单击右侧的 3 个点,然后单击 'edit'

单击变量并进行选择并从 'CURRENT VALUE' 复制结果:

[{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}},{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}},{"data":{"id":"NOT DISCLOSED","type":"zoomitCustomerSearch","attributes":{"customerReference":"0193:IBN_BE_NOT DISCLOSED","status":"not-reachable"}}}]

结果一大行。您必须使用 sed/awk/... 根据需要格式化结果。