Я пытаюсь установить переменную среды почтальона на основе определенного значения в ответе.
Я не уверен в коде, который можно использовать для получения значения.
Я знаю, что мне нужночтобы установить ответ как переменную, что я сделал следующим образом:
var response = JSON.parse(responseBody);
И я знаю, что могу использовать следующее для установки моей переменной среды:
postman.setEnvironmentVariable("category_ref",myVariableName);
Ниже приведен фрагментиз моего ответа:
{
"id": 45,
"name": "Accommodation",
"description": ""
},
{
"id": 46,
"name": "Accommodation (Engineering)",
"description": ""
},
Я хочу получить значение «id» на основе значения «name», которое я уже знаю.
Так, например, я хочу, чтобы мой код дал мне идентификатор, где "name" = "Проживание"
Редактировать:
Изменено сделано наисходный вопрос после ответов ниже.
Код моих тестов теперь выглядит следующим образом:
//Ensure the API Test Category is present
var response = JSON.parse(responseBody);
tests["my test"] = responseBody.has("Accommodation");
//pass in id into variable for delete step
var requiredId = pm.response.json().find(function(element){
if (element.name == "Accommodation"){
return element.id;
}
});
stringId = JSON.stringify(requiredId);
pm.environment.set("category_ref",stringId);
console.log("my string "+stringId);
И мой вывод на консоль выглядит следующим образом, что также является значением, которое отправляется в category_refпеременная окружения:
my string {"id":45,"name":"Accommodation","description":""}
Остается проблема: я не хочу возвращать все элементы, как это делается выше, я хочу вернуть только «45», что является значением id, где name = Accommodation.