PostMan 6.0.10 здесь. Я пытаюсь понять, как писать тестовые скрипты немного лучше, и после прочтения их иначе превосходная документация Я все еще не понимаю, как запрашивать и проверять ответ JSON, возвращаемый на запросы.
В частности, учитывая следующий фрагмент кода JavaScript:
pm.test("Verify the contents of the response payload are correct", function () {
// ???
});
Мне нужно иметь возможность запрашивать ответ JSON и:
- Определите, является ли ответ одним объектом JSON или массивом объектов JSON.
- Если это массив, определите размер (количество элементов в массиве)
- В противном случае, если это один объект, мне нужно иметь возможность запрашивать этот объект для определенных полей (скажем, поля с именем "
fizzbuzz
") и получать значения и типы JSON (строка, число, логическое значение, null) этих полей.
Сценарий №1: ответ JSON - это массив
Пример:
[
{
"fizz": "buzz",
"foo": 53
},
{
"fizz": "bozz",
"foo": 291
}
]
Сценарий № 2: ответ JSON - это один объект
Пример:
{
"fizz": "buzz",
"foo": 293
}
Есть идеи, как можно выполнить эту проверку JSON полезных данных ответа?
pm.expect()
и утверждение chai. Также ознакомьтесь с другими вопросами здесь, чтобы получить подсказки. Было бы неправильно, если бы кто-то написал код за вас, поскольку вы на самом деле не стали бы изучать его для себя. - person Danny Dainton   schedule 31.03.2018pm.response.to.have.jsonBody()
в закрытиеpm.test
, но если я не упускаю что-то важное в документации, не похоже, что я действительно могу проверить выводjsonBody()
. - person smeeb   schedule 31.03.2018pm.response.json()
в зависимости от того, что было возвращено и против чего вы должны утверждать, вы можете сделать это вexpect
функции.pm.expect(pm.response.json().whatever).to.equal('some_value')
- person Danny Dainton   schedule 31.03.2018...json().whatever
и'some_value'
на самом деле будут выглядеть в обоих моих сценариях? Еще раз спасибо! - person smeeb   schedule 31.03.2018