如果返回值是一个列表,而你需要从中根据判断条件获取对应的值
// 假设响应体中的数据是一个列表,如下: // [ // { "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); // 处理非列表类型的情况 }