根据满足特定条件的响应设置 Postman 环境变量
Setting Postman env variable based on the repsonse where certain criteria is met
当我在 Postman 中收到回复时,我希望能够设置一个环境变量(使用
pm.environment.set("variable_key", "variable_value");
当满足响应数组的条件时。
所以要求:
将名为 idForAbc
的环境变量设置为 someArray.id
的值,其中 someArray.criteria = "ABC"
(因此 idForAbc = 1
)
将名为 idForXyz
的环境变量设置为 someArray.id
的值,其中 someArray.criteria = "XYZ"
(因此 idForXyz = 2
)
这是我的示例回复:
您可以选择以下两种方式之一:
const res = pm.response.json();
const abc = res.someArray.find(e => e.criteria === "ABC");
if(abc){
pm.environment.set(`idFor${abc.criteria}`,abc.id)
}
const xyz = res.someArray.find(e => e.criteria === "XYZ");
if(xyz){
pm.environment.set(`idFor${xyz.criteria}`,xyz.id)
}
或
const res = pm.response.json();
function saveVarByCriteria(arr, value){
const obj = arr.find(e => e.criteria === value);
if(obj){
pm.environment.set(`idFor${obj.criteria}`, obj.id)
}
}
saveVarByCriteria(res.someArray, "ABC");
saveVarByCriteria(res.someArray, "XYZ");
当我在 Postman 中收到回复时,我希望能够设置一个环境变量(使用
pm.environment.set("variable_key", "variable_value");
当满足响应数组的条件时。
所以要求:
将名为
idForAbc
的环境变量设置为someArray.id
的值,其中someArray.criteria = "ABC"
(因此idForAbc = 1
)将名为
idForXyz
的环境变量设置为someArray.id
的值,其中someArray.criteria = "XYZ"
(因此idForXyz = 2
)
这是我的示例回复:
您可以选择以下两种方式之一:
const res = pm.response.json();
const abc = res.someArray.find(e => e.criteria === "ABC");
if(abc){
pm.environment.set(`idFor${abc.criteria}`,abc.id)
}
const xyz = res.someArray.find(e => e.criteria === "XYZ");
if(xyz){
pm.environment.set(`idFor${xyz.criteria}`,xyz.id)
}
或
const res = pm.response.json();
function saveVarByCriteria(arr, value){
const obj = arr.find(e => e.criteria === value);
if(obj){
pm.environment.set(`idFor${obj.criteria}`, obj.id)
}
}
saveVarByCriteria(res.someArray, "ABC");
saveVarByCriteria(res.someArray, "XYZ");