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

5us2dqdw  于 2022-11-07  发布在  Postman
关注(0)|答案(3)|浏览(486)

我有一个已经是URL格式的API请求列表。我只需要一个接一个地自动发布它们并记录它们的结果。
我唯一能做的就是复制每个网址,然后用 Postman 发送它们。但是这真的很耗时。我试着查看task runner,但是似乎很难将变量设置为等于我所有请求的数据文件

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

我不确定如何使用postman一个接一个地触发上面的url。我有大约60个POST请求和60个PUT请求
有没有人能提出一个方法来实现这一点。我可以通过复制的网址和手动张贴他们。我只是没有在一个位置上花这么多时间这样做很频繁。我已经花了时间准备网址与适当的值被取代,并准备去。任何帮助是感激。

dm7nw8vv

dm7nw8vv1#

没关系,我找到了一种方法来使用postman的collection runner来完成同样的任务。对于那些像我一样挣扎的人,这里是如何使用这个功能,它甚至更容易在旅途中替换你的url值。
首先在Postman中创建一个请求:
以下是示例的屏幕截图:

现在的要求是发布下面的网址:https://someApiPOSTRequest/clientAssign?auth=123|asdf&otherParamsList=123Params&someOtherParams={{VariableFromFile}}&additionalParams=hardcodedOnURL
用值替换您需要上传的csv文件中的**{{VariableFromFile}}**。您的csv应采用以下格式,其中标头应具有与您的url中使用的变量名称相同的变量名称:

点击“〉”按钮显示在下面的例子文件夹旁边,然后点击“运行”打开相同的 * 收集运行 * 窗口的 Postman :

当Collection Runner窗口打开后,点击 select file 选项上传您的csv文件,默认情况下,Iterations 字段中会预先填入csv文件中的记录数。您可以更改该数值,并在更改时确保您要运行的迭代数,因为它与上传的csv中的行数直接相关。

您也可以预览上传的csv文件:
x1c4d 1x指令集
如果单击 Run Example 按钮,收集运行程序将发布url 9次,每次迭代都将{{VariableFromFile}}替换为csv文件中的值。
你可以用更多的变量来替换,只要多一列相关的变量名,并在你的api调用中使用相同的变量名。就这么简单。它确实为我减少了很多手工工作!!
你也可以参考下面的链接,它指导我在Postman中使用此功能。Link
希望这对某人有帮助。

0h4hbjxa

0h4hbjxa2#

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

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

7ajki6be3#

很多开发人员会使用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文件(在我的例子中是客户的iban)。
/home/rudy/桌面/收件人帐户.csv
我不会透露我们客户的收款账户。

请注意RECIPIENTACCOUNT在请求中作为参数使用。
然后你就可以走了。

  • 请求的执行

单击右侧的箭头(因为它消失了,所以不显示)。
x1c4d 1x指令集
点击运行。一个新的窗口打开。

单击“选择文件”以选择文件,然后选择(例如)recipientaccount. csv。
单击“保存响应”。
更改“迭代次数”(如果需要)。
如果你愿意,你可以“预览”。
单击蓝色按钮(在我的示例中为Run Customer reachability)。
请求将被执行(按顺序)。
我已将请求数限制为3(图片显示为“1”,对不起)

所有3个请求都正确执行。

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

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

点击右侧的3个点,然后点击“编辑”

点击变量并进行选择,然后从“当前值”中复制结果:
[{“数据”:{“标识号”:“未公开”,“类型”:“缩放客户搜索”,“属性”:{“客户参考”:“0193:IBN_BE_NOT DISCLOSED”,“状态”:“不可访问”}}},{“数据”:{“标识号”:“未公开”,“类型”:“缩放客户搜索”,“属性”:{“客户参考”:“0193:IBN_BE_NOT DISCLOSED”,“状态”:“不可访问”}}},{“数据”:{“标识号”:“未公开”,“类型”:“缩放客户搜索”,“属性”:{“客户参考”:“0193:IBN_BE_NOT DISCLOSED”,“状态”:“不可访问”}}]
结果是一个大行。你必须使用sed/awk/...来格式化结果。

相关问题