[英]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
yyyy
和mmdd
),讓代碼根據需要進行切片。我什至如何開始編寫預請求腳本?
即使無法從外部 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.