Хранить данные из запроса Почтальона в переменных для использования в тестах - PullRequest
0 голосов
/ 05 июля 2019

Я сейчас пытаюсь привыкнуть к POSTMAN, и мне было интересно, есть ли способ сохранить переменные из моего запроса JSON Body с помощью предварительного запроса в некоторой переменной среды, поэтому ican повторно использует его в тестах для проверки значения ответа

Вот так может выглядеть мой файл json

{  
"text" : "myText",  
"attachments": {  
    "text": "myText2",  
    "anotherText" : "myText3"  
}

Итак, я хочу получить все значения, сохранить их в переменной перед отправкой запроса, а затем проверить, соответствуют ли они ожидаемому значению в моем ответе. (пример: myText2 отображается на зеленый, myText3 отображается на красный и т. д.)

Это позволило бы написать один тест для нескольких запросов

Большое спасибо!

1 Ответ

0 голосов
/ 05 июля 2019

Вы можете написать следующее в своем скрипте:

let body = JSON.parse(pm.request.body);   

_.forEach(body, (value, key) => pm.environment.set(key, JSON.stringify(value)));

Это установит каждый ключ и его значение в качестве переменных среды.Обратите внимание, что вам нужно JSON.parse значение в тестовом скрипте, прежде чем использовать его для тестирования.

Например, в вашем тестовом скрипте вам нужно сделать что-то вроде этого:

let attachments = JSON.parse(pm.environment.get('attachments'));
pm.test('All attachments are of correct value', function () {
  // ...write your test here using the `attachments` variable
});
...