Перейти к содержимому

Expro

Регистрация: 21 ноя 2018
Offline Активность: 15 июл 2021 15:49
-----

Мои темы

Postman, проверка полей в Response Body

22 ноября 2018 - 07:54

Доброе время суток!
Подскажите как составить запрос на проверку полей в теле ответа:

{
    "partners": [
        {
            "partner": "...",
            "price": ...,
            "currency": "...",
            "url": "..."
        }
    ]
}

но нужно так, что бы если вдруг ответ изменится и одного поля не будет (например уберут "url": "..."), то тест должен пройти успешно проверив что оставшиеся поля совпадают с моим ожиданием.
Тест который пытался сам написать:

var json1 = JSON.parse(responseBody);
tests["partnersTest"] = responseBody.has('partners') ;
tests["partnerTest"] = responseBody.has('partner') ;
tests["priceTest"] = responseBody.has('price') ;
tests["currencyTest"] = responseBody.has('currency') ;
tests["urlTest"] = responseBody.has('url') ;

Тем самым я проверяю весь ответ на заданные мной совпадения, не то что бы я хотел, т.к. если какого-то совпадения не находит тест валится на этом, это не практично.
№2:

pm.test("partners", function () {
var json1 = JSON.parse(responseBody);
pm.response.to.have.jsonBody('partners');
});

поиск совпадения производится только по главному полю, т.е то что внутри поля "partners" недоступно.