簡體   English   中英

Postman 預請求腳本從 CSV 文件讀取變量並附加到 JSON 正文

[英]Postman Pre-Request Script to Read Variables from CSV file and Append to JSON Body

我有一個帶有模板的 JSON 正文,可以傳遞給 Postman/Newman 中的 API 端點,如下所示:

{
  "total": [
    {
      "var1a": "ABCDE",
      "var1b": {
        "var2a": "http://url/site/{{yyyy}}/{{mmdd}}/{{yyyymmdd}}.zip",
        "var2b": {
           "var3a": "{{yyyymmdd}}",
           "var3b": "GKG"
        },
        "var2c": "ABCDE"
        "var2d": "{{p}}"
      }
    },
    {
      "var1a": "ABCDE",
      "var1b": {
        "var2a": "http://url/site/{{yyyy}}/{{mmdd}}/{{yyyymmdd}}.zip",
        "var2b": {
           "var3a": "{{yyyymmdd}}",
           "var3b": "GKG"
        },
        "var2c": "ABCDE"
        "var2d": "{{p}}"
      }
    }
}

雙括號中的所有內容都是需要從外部 CSV 文件中讀取的變量,如下所示:

p,yyyymmdd,yyyy,mmdd
1,19991231,1999,1231
2,20001230,2000,1230
  • 請注意,CSV 不一定長 2 個條目 - 我希望它能夠接收在最后一個之后附加的動態數量的條目。
  • 理想情況下,我會刪除 CSV 文件中的最后兩列( yyyymmdd ),讓代碼根據需要進行切片。

我什至如何開始編寫預請求腳本?

即使無法從外部 CSV 讀取,甚至無法在預請求腳本中進行編碼來執行此操作,但 Javascript 或 Python 中的快速單行代碼可以快速為我提供所需的輸出,以便我可以手動操作把它放在請求正文中?

我什至嘗試使用 Postman 運行器進行“假”運行,以便我可以快速提取不同的 JSON 主體,但即便如此,它也沒有干凈的方式來導出......

從 CSV 讀取數據並不是解決問題的好方法,因為每條記錄都將用於一個請求。 您希望將整個記錄放入一個請求中。

我認為在預請求腳本中編寫代碼會起作用。

在正文選項卡中:

在此處輸入圖像描述

在請求前選項卡中:

let data_set = [
    [1, 1999, 1231],
    [2, 2000, 1230]
];

let total = [];

for (let i = 0; i < data_set.length; i++) {
    let p = data_set[i][0];
    let yyyy = data_set[i][1];
    let mmdd = data_set[i][2];

    const item = {
        var1a: "ABCDE",
        var1b: {
            var2a: `http://url/site/${yyyy}/${mmdd}/${yyyy}${mmdd}.zip`,
            var2b: {
                var3a: `${yyyy}${mmdd}`,
                var3b: "GKG"
            },
            var2c: "ABCDE",
            var2d: `${p}`
        }
    };

    total.push(item);
}

pm.environment.set("total", JSON.stringify(total));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM