Установите переменную среды в Postman, когда ключ переменной не задан

#javascript #postman

Вопрос:

скриншот почтальона

Я пытаюсь сделать так, чтобы этот uuid был установлен в качестве переменной среды после того, как он будет возвращен методом. Однако в ответе метод возвращает только строку (uuid) без какого-либо переменного ключа. Я полный нуб и попробовал что-то вроде:

 var jsonData = pm.response.json(); pm.environment.set(String, jsonData.invitationId);  

Я понятия не имею, что я должен предоставить вместо variable_key. Что бы я ни делал, в консоли результатов тестирования я получаю такие ошибки, как:

Неожиданный токен «d» в 1:1 d7723dd8-31c5-40fc-a3a4-5c8a497d2280 ^

Комментарии:

1. ответ, похоже, не в формате json. вы пробовали pm.response.text() вместо этого?

Ответ №1:

На скриншоте показано, что ответ в формате «текст», а не json

Вы хотите сохранить ответ в виде текста:

 var res = pm.response.text(); pm.environment.set("UUID_1", res)  

Если у вас есть несколько идентификаторов UUID в ответе, например:

 c7428a7c-48b5-4636-a4c4-2c4eee71cd57 b7428a7c-58b5-3636-b4s4-1c4hgd71ad45 a7428a7c-68b5-2636-c4e4-ac4lts71ef89  

тогда вы можете разделить их вот так

 var res = pm.response.text(); pm.environment.set("UUID_1", res.split("rn")[0]) pm.environment.set("UUID_2", res.split("rn")[1]) pm.environment.set("UUID_3", res.split("rn")[2])  

Ответ №2:

Строка во 2-й строке-это ошибка, я думаю. Это должна быть переменная, как показано ниже:

 var url = pm.request.url; var id = /[^/]*$/.exec(url)[0]; pm.environment.set('testId', id);