Шпаргалка для работы с Postman

Cохранить ответ сервера в переменную окружения

Сохраним одно значение из ответа сервера в переменную окружения.

Необходимо добавить код на вкладке Tests. Предварительно создайте переменную окружения token. Код выполнится после того, как будет получен ответ от сервера.

автоматически сохранить в переменную окружения постман
Добавьте код во вкладке Tests

Код со скриншота:

var jsonData = pm.response.json();
postman.setEnvironmentVariable("token", jsonData.access_token);

Например, получен ответ:

{
    "access_token": "PCtMQdGdRTdbnIruWg7eAtDS1cxdIU",
    "refresh_token": "fSSLYxsW0TKL7P6k1WWo8ZPNCbUQSf"
}

Значение access_token будет сохранено в переменную окружения token

Применить Base 64 к переменной перед отправкой запроса

Кейс: необходимо использовать токен авторизации, который будет результатом функции base64 для логина и пароля, соединенных двоеточием:

base64(user + ':' + password)

Чтобы код выполнился перед отправкой запроса, добавляем его на вкладку Pre-request Script
var CryptoJS = require('crypto-js'),
   user = ph.environment.get('user');
   password = ph.environment.get('password');
   token =  CryptoJS.enc.Utf8.parse(user + ':' + password);
 
pm.environment.set('auth_test', CryptoJS.enc.Base64.stringify(token));

Как это работает

В запросе я собираюсь использовать токен {{ auth_test }}. Он будет генерироваться перед отправкой.

Перед отправкой запроса необходимо заполнить переменные окружения: user и password. Далее нажимаю кнопку Отправить. В этот момент выполнится код выше: base64 на основе логина и пароля сохранится в переменную окружения auth_test. Эту переменную я использую в хедере запроса, ее значение подставится и только в этот момент готовый запрос отправится на сервер.

Данный способ может быть избыточен в вашем случае. Если используете логин и пароль только одной учетной записи, то проще один раз сгенерировать base64 и установить значение auth_test вручную.

Рекомендуем к прочтению:



Оставить комментарий

Этот сайт защищен reCAPTCHA и применяются Политика конфиденциальности и Условия обслуживания Google.