Как получить доступ к информации внутри тела ответа теста почтальона Получить звонок - PullRequest
0 голосов
/ 12 марта 2020

Ниже приведен формат JSON из тела ответа

{
   "properties":{
      "name":"Jake",
      "id":123,
      "HashData":[
         {
            "Major":"CS",
            "code":234
         }
      ]
   }
}

Я пытался использовать:

var x = pm.response.json().properties;
console.log(x.HashData); // it returned HashData is [object object] 
console.log(x.HashData.code); // it returned undefined

Как еще можно просмотреть или получить доступ к данным? И как вы используете это в патче, как если вы хотите изменить код с 234 на 567?

1 Ответ

1 голос
/ 12 марта 2020

Вам необходимо использовать объект pm. Попробуйте console.log(x.HashData[0].code); Ваши HasData - это массив ;

pm.test (
    "Response HashData has a code.",
    function()
    {
        var data = pm.response.json();
        pm.expect(data.properties.HashData[0]).to.have.property('code');

    }
);

Это если для объекта, но для массивов, вам нужно использовать ключ.

pm.test (
    "Response has name property.",
    function()
    {
        var data = pm.response.json();
        pm.expect(data.properties).to.have.property('name');

    }
);

Больше тестовой документации здесь: https://learning.postman.com/docs/postman/scripts/postman-sandbox-api-reference/

Чтобы изменить значение, вы должны сделать что-то вроде:

 data.properties.HashData[0].code = 567
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...