簡體   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