Как добавить данные в запрос JSON?

Я новичок в использовании почтальона в качестве API для тестирования веб-отдыха. Можете ли вы помочь мне в этой простой ошибке? Сообщение об ошибке: Произошла ошибка при оценке тестового скрипта: ReferenceError: jsonData не определен.

Заранее спасибо!

pm.test("User ID is 1 -> " +jsonData[0].userId, function () {
var jsonData = pm.response.json();
pm.expect(jsonData[0].userId).to.eql(1);
});

введите здесь описание изображения


person Lyra Opena    schedule 28.07.2018    source источник
comment
Вы используете переменную перед ее объявлением - попробуйте вынуть часть jsonData из имени и попробовать. Если вы переместите строку var над функцией, она должна работать.   -  person Danny Dainton    schedule 28.07.2018
comment
Вау! Оно работает! Спасибо @DannyDainton :)   -  person Lyra Opena    schedule 28.07.2018


Ответы (1)


Вы используете автономную версию почтальона или расширение для Chrome? Если вы используете расширение Chrome, вы обнаружите, что pm не определено, как указано здесь

Хотя, возможно, не совсем задумывались, если вы работаете с расширением chrome, вы можете определить «логику тестирования» немного по-другому на вкладке «Тесты»:

введите здесь описание изображения

Вкладка «Тестирование» позволяет вам писать тесты, которые автоматически запускаются для данных ответа, которые возвращаются после нажатия кнопки «Отправить».

Это в основном позволяет вам писать и выполнять javascript в собственном контексте тестирования Postmans, что позволяет вам определить довольно сложную логику тестирования, чтобы убедиться, что ваши данные ответа возвращают ожидаемые результаты:

var contentTypeHeaderExists = responseHeaders.hasOwnProperty("Content-Type");

tests["Has Content-Type"] = contentTypeHeaderExists;

if (contentTypeHeaderExists) {
    tests["Content-Type is application/json"] = 
      responseHeaders["Content-Type"].has("application/json");
}

См. это сообщение в блоге для получения дополнительной информации об использовании вкладки «Тестирование» - надеюсь, это вам поможет!

person Dacre Denny    schedule 28.07.2018