ПОСТМАН Как разобрать вложенный объект json в почтальоне с динамическими ключами? - PullRequest
0 голосов
/ 11 февраля 2019

предположим, что тело json, возвращаемое из вызова, содержит некоторые динамические ключи, т. Е.

{
     "message": "search results matching criteria",
     "permission": {
         "261ef70e-0a95-4967-b078-81e657e32699": {
             "device": {
                 "read:own": [
                     "*"
                 ]
             },
             "account": {
                 "read:own": [
                     "*"
                 ]
             },
             "user": {
                 "read:own": [
                     "*"
                 ]
             }
     }
}

Я могу достаточно легко проверить json следующим образом, хотя у меня много трудностей, решающих, как проверить объекты НИЖЕуровень динамического наведения ответа.

pm.test("response body to have correct items", function () {
pm.expect(jsonData.message).to.eq("search results matching criteria");
pm.expect(jsonData).to.have.property('permission');
pm.expect(jsonData.permission).to.have.property(pm.variables.get("otherUserId"));

});

В идеале хотелось бы проверить уровень устройства, учетной записи и пользователя для объекта.

Любой, у кого естьнесколько советов?

Я пробовал несколько способов ссылаться на переменную otherUserId, но ничего не работает.Она либо не разрешает переменную, поэтому проваливает тест, так как ищет уровень в json с именем otherUserId, либо не запускает тест из-за синтаксической ошибки.

1 Ответ

0 голосов
/ 11 февраля 2019

Это работает:

pm.expect(jsonData.permission[pm.variables.get("otherUserId")]).to.have.property('device');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...