Как установить переменную из запроса в почтальоне

Пытаюсь написать тесты для Почтальона. Для многих запросов требуется ключ API, который возвращается первоначальным запросом GET.

Чтобы установить что-то жестко запрограммированное, что не является динамическим, похоже, что тестовый код имеет форму

let variable = pm.iterationData.get("variable");
console.log("Variable will be set to", variable);

Как мне установить возвращаемое значение как глобальную переменную, а затем установить его как параметр заголовка?


person Matthew    schedule 30.09.2018    source источник


Ответы (2)


Вы можете указать это значение переменной в заголовках запроса, используя синтаксис {{var_name}}. Вместо любого жестко запрограммированного значения, которое вы, возможно, использовали.

Раньше вам приходилось устанавливать значение с помощью pm.globals.set()syntax.

person Danny Dainton    schedule 30.09.2018
comment
OK. Должен ли я установить токен в первом тестовом сценарии, а затем попасть во второй сценарий предварительного запроса запросов? - person Matthew; 01.10.2018
comment
Если ваш первый запрос направлен к конечной точке «токена», и он возвращается в ответе. Вам нужно будет установить это значение в тесте, чтобы вы могли использовать его в следующих запросах. - person Danny Dainton; 01.10.2018
comment
OK. Кажется, он правильно настраивается. Я могу осмотреть это по значку глаза. Я думаю, у меня возникли проблемы с получением переменной в последующем запросе и вставкой ее в заголовок. - person Matthew; 01.10.2018
comment
Могу ли я использовать let jwt = pm.globals.get("jwt"); в тестовом разделе последующего запроса? - person Matthew; 01.10.2018
comment
Или просто запустить как pm.globals.get("jwt");? - person Matthew; 01.10.2018
comment
Вы можете просто использовать {{jwt}} в заголовке запроса. Не нужно понимать, почему, если вы не используете его по-другому. - person Danny Dainton; 01.10.2018
comment
Хм. Я заставил его нормально работать самостоятельно, используя вкладку Authorization и установив токен на {{jwt}}. Однако тест не проходит, когда я пытаюсь использовать Runner ... - person Matthew; 01.10.2018
comment
Добавьте заголовок запроса авторизации со значением Bearer {{jwk}}. - person Danny Dainton; 01.10.2018
comment
Мой ответ был основан на текущей информации, которую вы предоставили в вопросе. Кроме тега, нет даже упоминания об использовании раннера. Возможно, вам придется расширить свой вопрос, чтобы люди могли дать вам лучший, подробный и сфокусированный ответ. Без этого это просто предположение. :) - person Danny Dainton; 01.10.2018
comment
Извините, я отвечал не на ту тему. Спасибо за помощь!! - person Matthew; 01.10.2018

# Пример, если вы устанавливаете ApiToken как динамический.

  • На вкладке "Тесты" в почтальоне.

Поместите следующий код.

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("Token", jsonData.token);

  • В конкретной среде укажите имя переменной как токен, и текущее значение будет установлено автоматически.
  • получить доступ к переменной с помощью {{variable_name}} #Example: {{token}}
person Dev-lop-er    schedule 15.07.2020