Size: a a a

Postman | Community

2020 May 21

NV

Nick Verbitsky in Postman | Community
!_.isEmpty() -
! - отрицание
_ - вызов lodash. Можешь явно импортнуть в модуль с версией поновее или использовать имплисит с постарше.
.isEmpty() - метод в lodash. https://lodash.com/docs/4.17.15#isEmpty
источник

NV

Nick Verbitsky in Postman | Community
Checks if value is an empty object, collection, map, or set.
источник

NV

Nick Verbitsky in Postman | Community
>  Плюс, если приходит пустой объект, он тоже должен быть как проходной тест, тут этого условия же нет?

В оригинальном тесте такого условия тоже нет)
источник

NV

Nick Verbitsky in Postman | Community
Плюс, если тело пустое, то ассерт на newProperty упадет, потому что newProperty будет равно undefined
источник

NV

Nick Verbitsky in Postman | Community
Но если так хочется, то получится что-то в духе:
const jsonBody=pm.response.json();
if (_.isEmpty(jsonBody) || jsonBody.hasOwnProperty('newProperty')) {
   pm.expect(jsonBody.newProperty).to.be.oneOf([0,1,'']);
}
источник

S

Sulaiman in Postman | Community
Nick Verbitsky
Но если так хочется, то получится что-то в духе:
const jsonBody=pm.response.json();
if (_.isEmpty(jsonBody) || jsonBody.hasOwnProperty('newProperty')) {
   pm.expect(jsonBody.newProperty).to.be.oneOf([0,1,'']);
}
отлично:) красота, спасибо большое.
источник

S

Sulaiman in Postman | Community
Nick Verbitsky
Ответы на все эти вопросы есть в доке.
я начинал, там очень много всего и порой пока надешь ответа на свой вопрос- пройдет много времени) но сейчас знаний прибавилось на грамм, может будет легче
источник

MK

Maksat Kilibayev in Postman | Community
Здравствуйте. Подскажите как сделать Assertion для переменой title
источник

MK

Maksat Kilibayev in Postman | Community
такой response приходит "type": {
 "items": [
   {
     "id": 9,
     "source_id": 5,
     "title": "Сервис"
   }
 ]
}
источник

MK

Maksat Kilibayev in Postman | Community
я пробовал так не работает: pm.test("Verify Json values", function () {
   pm.expect(jsonData.items.title).is.to.equal("Сервис")
});
источник

RP

Rostislav Pavlov in Postman | Community
Maksat Kilibayev
я пробовал так не работает: pm.test("Verify Json values", function () {
   pm.expect(jsonData.items.title).is.to.equal("Сервис")
});
Не работает так потому что в items массив, а обращаетесь вы не к элементу массива
источник

MK

Maksat Kilibayev in Postman | Community
спасибо, нашел решение
источник

MK

Maksat Kilibayev in Postman | Community
jsonData.type.items[0].title
источник

AP

Art Pro in Postman | Community
Привет! Подскажите, кто-нибудь использовал interceptor в postman? Как решается вопрос с отображением в виде иероглифов русских символов?
источник

SH

Sha743 Hun in Postman | Community
Nick Verbitsky
Could you provide a more information?
There are several ways to implement loops, but it's not clear what you're trying to achieve.
Hi, a customer having a limitation to add billing and delivery address to their account eg: can add only two billing address to an account
For this I want to write a loop instead of checking manually
источник

NV

Nick Verbitsky in Postman | Community
Maksat Kilibayev
я пробовал так не работает: pm.test("Verify Json values", function () {
   pm.expect(jsonData.items.title).is.to.equal("Сервис")
});
и .is не нужен.
источник

NV

Nick Verbitsky in Postman | Community
Sha743 Hun
Hi, a customer having a limitation to add billing and delivery address to their account eg: can add only two billing address to an account
For this I want to write a loop instead of checking manually
Well, I get the basic idea, but still hard to help you when we don't see the actual requests structure.

However, you could do something like that:

const addressesObject = [
   {
       billingAddress: 'address1',
       deliveryAddress: 'address1'
   },
   {
       billingAddress: 'address2',
       deliveryAddress: 'address2'
   }
]

addressesObject.forEach(address => {
   const requestObject = {
       url: 'localhost:8080', //your url
       method: 'POST', //your HTTP verb
       header: {
           "content-type": "application/json" //your headers
       },
       body: {
           "billindAddress": addressesObject.billingAddress,  //your body
           "deliveryAddress": addressesObject.deliveryAddress,            
       }
   }

   pm.sendRequest(requestObject, (err, response) => {
   });
})
источник

O

Oleg in Postman | Community
Всем привет! Есть два вопроса:
1) Как я могу проверить отдельный элемент данных на тип?
В целом - можно проверить схему через tv4.validate(customer, customerSchema), но если мне нужно сделать акцент?
Как пример:
{
   "title": "TEST",
   "value": "123"
}
Где я хочу акцентировать внимание на title и описываю как:
(property) "title": {
   "type": string;
}
2) Как можно проверить значение динамического элемента при условие, что оно не null или не "" ?
Как пример:
{
 "item1": "",
 "item2": "2"
}
При этом item1 по тесту не должен быть равен null или ""
источник

NV

Nick Verbitsky in Postman | Community
Oleg
Всем привет! Есть два вопроса:
1) Как я могу проверить отдельный элемент данных на тип?
В целом - можно проверить схему через tv4.validate(customer, customerSchema), но если мне нужно сделать акцент?
Как пример:
{
   "title": "TEST",
   "value": "123"
}
Где я хочу акцентировать внимание на title и описываю как:
(property) "title": {
   "type": string;
}
2) Как можно проверить значение динамического элемента при условие, что оно не null или не "" ?
Как пример:
{
 "item1": "",
 "item2": "2"
}
При этом item1 по тесту не должен быть равен null или ""
jfyi: tv4 пытаются деприкейтнуть - в Postman вместо него можно использовать ajv. Синтаксис с большего похож, поэтому переходить будет не больно.
источник

NV

Nick Verbitsky in Postman | Community
Ну, и если верить бенчмаркам, то ajv пошустрее:
источник