Size: a a a

Postman | Community

2020 May 21

NV

Nick Verbitsky in Postman | Community
источник

NV

Nick Verbitsky in Postman | Community
источник

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 или ""
1) А что не устраивает с type?

{
   "type": "object",
   "examples": [
       {
           "title": "TEST",
           "value": "123"
       }
   ],
   "required": [
       "title",
       "value"
   ],
   "additionalProperties": true,
   "properties": {
       "title": {
           "type": "string",
           "examples": [
               "TEST"
           ]
       },
       "value": {
           "type": "string",
           "examples": [
               "123"
           ]
       }
   }
}
источник

NV

Nick Verbitsky in Postman | Community
Или нужно написать отдельный тест на тип, без использования валидатора схемы?
источник

O

Oleg in Postman | Community
Nick Verbitsky
Или нужно написать отдельный тест на тип, без использования валидатора схемы?
Да, хотелось бы так
источник

O

Oleg in Postman | Community
Интересно, почитаем, спасибо
источник

NV

Nick Verbitsky in Postman | Community
Oleg
Да, хотелось бы так
В респонсе массив или просто объект?
источник

O

Oleg in Postman | Community
Nick Verbitsky
В респонсе массив или просто объект?
Объект
источник

NV

Nick Verbitsky in Postman | Community
Oleg
Объект
const obj = {
   "title": "TEST",
   "value": "123"
}

pm.test('Assert type', () => pm.expect(obj.title).to.be.a('string'));
источник

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 или ""
2) Валидатором схемы или просто тестом?
источник

O

Oleg in Postman | Community
Nick Verbitsky
const obj = {
   "title": "TEST",
   "value": "123"
}

pm.test('Assert type', () => pm.expect(obj.title).to.be.a('string'));
Благодарю. А вы схему через что генерируете? если не секрет. я вот использую genson
источник

O

Oleg in Postman | Community
Nick Verbitsky
2) Валидатором схемы или просто тестом?
Отдельный тест
источник

NV

Nick Verbitsky in Postman | Community
Oleg
Благодарю. А вы схему через что генерируете? если не секрет. я вот использую genson
Просто гуглю json schema generator, что первое попадется, то и использую.
источник

NV

Nick Verbitsky in Postman | Community
Oleg
Отдельный тест
А почему просто не проверять нужное значение?
В таком случае, если к нам придет пустая строка или null, то тест упадет.
источник

O

Oleg in Postman | Community
но оно динамичное, если только тип проверять.
источник

NV

Nick Verbitsky in Postman | Community
Oleg
но оно динамичное, если только тип проверять.
Можно пример?
источник

O

Oleg in Postman | Community
pm.test("TestData", function () {
   var jsonData = pm.response.json();
   pm.expect(jsonData.value).to.eql("1111");
});

       {
           "title": "TEST",
           "value": "1111"
       }

При этом value - может быть 2222, 3333, рандомно, но не пустым и не null
Как проверить, что там не пусто и не null)
источник

NV

Nick Verbitsky in Postman | Community
То есть у одной и той же записи будет разный параметр value?
источник

NV

Nick Verbitsky in Postman | Community
Oleg
pm.test("TestData", function () {
   var jsonData = pm.response.json();
   pm.expect(jsonData.value).to.eql("1111");
});

       {
           "title": "TEST",
           "value": "1111"
       }

При этом value - может быть 2222, 3333, рандомно, но не пустым и не null
Как проверить, что там не пусто и не null)
Ну, можно что-то такое:
pm.test('assert item1', () => {
   pm.expect(obj.item1).not.to.be.null && pm.expect(obj.item1).not.to.be.empty;
})
источник

O

Oleg in Postman | Community
Nick Verbitsky
То есть у одной и той же записи будет разный параметр value?
да
источник