這個問題之前困擾了我很久,一直搜尋類似的部落格都沒找到答案,終于自己慢慢摸索中找到了答案!
(部落格引用請注明連結,謝謝。)
用postman做接口測試,肯定會遇到上一接口的傳回值給下一接口調用的問題,那麼需要可将上一參數設定為全局變量。
1、如圖1的“parentId”要給到下一接口調用,可将“parentId”設定為全局變量(圖2)。
在“Tests”中寫入代碼為:
var data = JSON.parse(responseBody); //擷取所有的傳回資料;
tests[data.result] = responseBody.has("true");//傳回資料中有“true”
tests[data.msg] = responseBody.has("登入成功");//傳回資料中有“登入成功”。(這兩個斷言依照傳回資料填寫)
pm.globals.set("parentId", data.data.parentId);//将“parentId”設定為全局變量(“parentId”在傳回資料中是唯一的)

2、設定好後,點選發送,“parentId”的值就自動填寫到全局變量中(圖3)
3、遇到傳回值中需要調用的參數不止一個,但是要調用第2個,傳回資料如圖4--“parentStudentId”不止一個,該怎麼辦呢?
如果按照上面的代碼“pm.globals.set("parentStudentId", data.data.parentStudentId);”發送的話,是擷取不到“parentStudentId”的值(圖5)
4、因為data的資料中“parentStudentId”有多個值,那肯定代碼中要注明擷取的是data資料中的哪個,即data[1]表示取第2個,data[0]表示取第1個。
代碼如圖6(pm.globals.set("parentStudentId", data.data[1].parentStudentId););
此時再請求下,則可擷取到“parentStudentId”的值了(圖7).