如果返回值是一个列表,而你需要从中根据判断条件获取对应的值
// 假设响应体中的数据是一个列表,如下:
// [
// { "id": 1, "name": "Alice" },
// { "id": 2, "name": "Bob" },
// { "id": 3, "name": "Charlie" }
// ]
// 定义判断条件
var condition = "Bob";
// 遍历列表,寻找符合条件的对象
var matchingObject = null;
pm.response.json().forEach(function(item) {
if (item.name === condition) {
matchingObject = item;
}
});
// 如果找到符合条件的对象,则获取对应的值
if (matchingObject !== null) {
var desiredValue = matchingObject.id; // 在此示例中获取id值
// 执行你想要的操作,例如将值存储到环境变量中
pm.environment.set("desiredValue", desiredValue);
}
如果你的条件是实际结果是否包含你的条件时,则可以这样
// 假设响应体中的数据是一个列表,如下:
// [
// { "id": 1, "name": "Alice" },
// { "id": 2, "name": "Bob" },
// { "id": 3, "name": "Charlie" }
// ]
// 定义判断条件
var condition = "e";
// 遍历列表,寻找符合条件的对象
var matchingObject = null;
pm.response.json().forEach(function(item) {
if (item.name.includes(condition)) {
matchingObject = item;
}
});
// 如果找到符合条件的对象,则获取对应的值
if (matchingObject !== null) {
var desiredValue = matchingObject.id; // 在此示例中获取id值
// 执行你想要的操作,例如将值存储到环境变量中
pm.environment.set("desiredValue", desiredValue);
}
获取变量值
pm.environment.get("codes") //其中codes为变量名
设置变量
pm.environment.set("codes", "value") //其中code为变量名,value为值
想要输出到控制台
console.log("Old value:"+"test")
//输出结果
Old value:test
如果你执行的脚本可能会出错,当出错时不执行任何脚本时,你可以执行:
//变量codes的值为“[“***”,"ccc","dddd"]”
var oldValue = pm.environment.get("codes"); //获取环境变量codes的值
console.log("Old value:"+oldValue);
var myList = oldValue.split(","); //去除变量最外层引号
//判断去除引号后的值是否为元组(列表)
if (Array.isArray(myList)) {
//尝试执行对元组的操作,但此元组不一定是JSON,如果不是json则会报错
try {
var myArray = JSON.parse(myList)
var newValue = myArray.join(",");
pm.environment.set("codes", newValue);
console.log("New value: " + pm.environment.get("codes"));
// 执行 JSON 格式的操作
} catch (error) {
console.log("不是json");
// 跳过执行操作
}
// 执行列表类型的操作
} else {
console.log(typeof oldValue);
console.log(typeof myList);
// 处理非列表类型的情况
}
浙公网安备 33010602011771号