извлекать и получать доступ к строковым данным - PullRequest
0 голосов
/ 08 мая 2018

У меня есть запрос Get, который дает мне ответ, как показано ниже

{
"var1": "value1",
"var2": "value2"
}

Я сохраняю его в переменной окружения из скрипта Tests, как показано ниже

postman.setEnvironmentVariable("allData", JSON.stringify(responseBody));

В следующем запросе Post яя пытаюсь получить указанные выше значения из сценария предварительного запроса, как показано ниже

var jsonData = JSON.parse(allData)

Однако я получаю не определенную ошибку, как показано ниже

Произошла ошибка при оценке предварительного запросаСкрипт: ReferenceError: allData не определен

Я могу установить каждое свойство в отдельной переменной, и оно работает нормально, но загрязняет окружающую среду (так как таких свойств около 20).Пожалуйста, предложите лучшую альтернативу для того же.Также предложите мне, как получить доступ к отдельным значениям в запросе Body of Post.Могу ли я сделать что-то, как показано ниже?

{
  "var1": "{{jsonData.var1}}",
  "var2": "{{jsonData.var2}}"
}

ИЛИ Мне нужно установить значения для отдельной переменной в скрипте предварительного запроса и использовать их в теле?

Спасибо

1 Ответ

0 голосов
/ 08 мая 2018

Если вам нужно извлечь данные из сохраненной переменной как всего набора данных, вам нужно будет сделать эту ссылку на нее при объявлении переменной:

var jsonData = JSON.parse(pm.environment.get("allData"))

Если вы хотите использовать отдельные значения из вашей переменной в теле запроса, вам нужно проанализировать их по отдельности, в Pre-Request Script, а затем сохранить их как переменные для использования в теле запроса:

pm.environment.set("my_single_var_1", JSON.parse(pm.environment.get('allData')).var1)

pm.environment.set("my_single_var_2", JSON.parse(pm.environment.get('allData')).var2)

Отсюда вы можете затем установить синтаксис {{my_single_var_1}} в теле запроса, и эти заполнители будут соответствовать установленным вами значениям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...