繁体   English   中英

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

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

我有一个已经采用 URL 格式的 API 请求列表。 我只需要自动一个接一个地发布它们并记录它们的结果。

我能做的唯一方法是复制每个网址并使用邮递员发送。 但是真的很费时间。 我尝试查看任务运行程序,但似乎很难将变量设置为与我所有请求的数据文件相等

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

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

任何人都可以提出一种方法来实现这一目标。 我可以通过复制网址并手动发布它们来做到这一点。 我只是不能经常花这么多时间做这件事。 而且我已经花时间准备 url,并用适当的值替换并准备好使用。 任何帮助表示赞赏。

没关系,我想出了一种方法来使用邮递员的收集跑步者来完成同样的事情。 对于那些像我一样挣扎的人,这里是如何使用该功能,并且更容易在旅途中将值替换为您的 url。

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

下面是示例的屏幕截图:

在此处输入图像描述

现在要求发布以下网址: https://someApiPOSTRequest/clientAssign?auth=123|asdf&otherParamsList=123Params&someOtherParams={{VariableFromFile}}&additionalParams=hardcodedOnURL

用您需要上传的 csv 文件中的{{VariableFromFile}}替换值。 您的 csv 格式应如下所示,其中标头应与您的 url 上使用的变量名称相同:

在此处输入图像描述

单击示例文件夹旁边显示的“>”按钮,然后单击“运行”以在邮递员的Collection runner窗口中打开相同的内容:

在此处输入图像描述

一旦 Collection Runner 窗口打开,单击选择文件选项以上传您的 csv 文件, Iterations字段默认预填充 csv 文件上的记录数。 您可以更改数字,并确定要运行的迭代次数与上传的 csv 中的行数直接相关。

在此处输入图像描述

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

在此处输入图像描述

如果您单击“运行示例”按钮,则集合运行程序会发布 9 次 url,其中 {{VariableFromFile}} 将被替换为每次迭代的 csv 文件中的值。

您可以通过多一列具有相关变量名称并在您的 api 调用中使用相同的名称来替换更多变量。 就是这么简单。 它确实为我减少了很多体力劳动!!

您还可以参考以下链接,该链接指导我在 Postman 中使用此功能。 关联

希望这对某人有帮助。

我找到了将原始数据添加为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 是 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 作为参数用于请求中。
然后你准备好了。

  • 请求的执行

在此处输入图像描述

单击右侧的箭头(未显示,因为它消失了)。

在此处输入图像描述

点击运行。 打开一个新窗口。

在此处输入图像描述

单击“选择文件”以选择文件并选择(例如)recipientaccount.csv。
点击“保存回复”。
更改“迭代”(如果需要)。
如果需要,您可以“预览”。
单击蓝色按钮(在我的示例中为运行客户可达性)。
请求被执行(按顺序)。

我已将请求数限制为 3(图片显示为“1”,抱歉) 在此处输入图像描述 所有 3 个请求均已正确执行。

  • 现在是时候得到结果了。

关闭“收集运行器”窗口。
返回“客户可达性”

在此处输入图像描述
单击右侧的 3 个点,然后单击“编辑” 在此处输入图像描述

单击变量并进行选择并从“当前值”复制结果:

[{"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 -可达"}}}]

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM