Postman

Postman е приложение, използвано за тестване на API. Това е HTTP клиент, който тества HTTP заявки, използвайки графичен потребителски интерфейс, чрез който получаваме различни типове отговори, които впоследствие могат да бъдат валидирани.

Може да бъде ползван директно в уеб пространството на адрес go.postman.co/home или инсталиран като десктоп приложение. Линк за изтегляне.

Изпращане на заявка с Postman

Можете да изпращате заявки в Postman за свързване с API, с които работите. Вашите заявки могат да извличат, добавят, изтриват и актуализират данни. Могат да бъдат изпращани параметри, подробности за оторизация и всякакви основни данни, които изисквате.

Когато изпратите заявка, Postman показва отговора, получен от API сървъра, по начин, който ви позволява да го прегледате, визуализирате и, ако е необходимо, да отстраните проблема.

Създаване на заявки

Можете да създадете нова заявка от началния екран на Postman, като използвате New > HTTP Request или като изберете +, за да отворите нов раздел.

Изберете Save, за да създадете вашата заявка. Можете да дадете на заявката си име и описание и да изберете или създадете колекция, в която да я запазите.

След като новият ви раздел е отворен, можете да посочите детайлите, от които се нуждаете за вашата заявка.

Добавяне на детайли на заявката

Ако имате заявка, която искате да изпълните, е необходимо да знаете URL адреса, метода и други незадължителни детайли като параметри и данни за удостоверяване.

За първоначално тестване изпращането на заявка в Postman, можете да зададете URL адреса на примерната крайна точка на API на Postman Echo https://postman-echo.com/get и метода GET, след което изберете Send.

Задаване на URL на заявката

Всяка заявка, която изпращате в Postman, изисква URL адрес, представляващ крайната точка на API, с която работите.

Всяка операция, която можете да извършите с помощта на API, обикновено е свързана с крайна точка. Всяка крайна точка в API е достъпна на определен URL адрес. Това е, което въвеждате в Postman за достъп до API.

Postman автоматично ще добави http:// в началото на Вашия URL адрес, ако не посочите протокол.

По желание можете да въведете параметри на заявката в полето за URL адрес или можете да ги въведете в раздела Params. Ако вашата заявка използва параметри на пътя, можете да ги въведете директно в полето за URL адрес.

Избор на метод на заявката

По подразбиране Postman ще избере методът GET за нова заявка. Можете да използвате различни други методи за изпращане на данни към вашите API.

Изпращане на параметри

Можете да изпращате path и query параметри, като използвате полето URL и раздела Params.

Query параметрите се добавят в края на URL адреса на заявката, след ?, изброени в двойки ключ-стойност и разделени от & чрез следния синтаксис:

?id=1\&type=new

Path параметрите формират част от URL адреса на заявката и се посочват с помощта на контейнери, предхождани от :, както в следния пример: /customer/:id

За да изпратите query параметър, добавете го директно към URL адреса или отворете Params и въведете името и стойността. Когато въведете параметрите на вашата заявка в полетата URL или Params, тези стойности ще се актуализират навсякъде, където се използват в Postman.

За да изпратите path параметър, въведете името на параметъра в полето URL след двоеточие, например :id. Когато въведете параметър на пътя, Postman ще го попълни в раздела Params, където можете също да го редактирате.

Изпращане на параметри посредством тялото на заявката

Изпращанe на параметри посредством тялото на заявката се налага в случаите, когато трябва да добавите или актуализирате структурирани данни с PUT, POST или PATCH заявки. За целта е предвиден разделът Body в Postman.

Изберете типа данни, от който се нуждаете за тялото на вашата заявка – form data, URL-encoded, raw, binary или GraphQL. По подразбиране Postman ще избере None — оставете го избрано, ако не е необходимо да изпращате тяло със заявката си.

  • Form data

Формите на уебсайтове често изпращат данни към API като multipart/form-data. Можете да повторите това в Postman, като използвате опцията form-data. Позволява изпращането на двойки ключ-стойност и указване на типа на съдържанието.

  • URL-encoded

URL кодираните данни използват същото кодиране като URL параметрите. Ако вашият API изисква url-encoded данни, изберете x-www-form-urlencoded в раздела Body. Въведете своите двойки ключ-стойност, които да изпратите със заявката и Postman ще ги кодира преди изпращане.

  • Raw data

С помощта на тази опция можете да изпращате вашите данни в суров вид под формата на текст. Използвайте отметката raw и тип от падащия списък, за да посочите формата на вашите данни (Text, JavaScript, JSON, HTML или XML) и Postman ще активира подчертаване на синтаксиса, както и ще се погрижи за добавяне на съответните хедъри към вашата заявка.

  • Binary data

Можете да използвате двоични данни, за да изпратите информация, която не можете да въведете ръчно в редактора на Postman с тялото на вашата заявка, като изображения, аудио и видео файлове (можете също да изпращате текстови файлове).

  • GraphQL

Можете да изпращате GraphQL заявки с помощта на опцията GraphQL.

Заявки, изискващи автентикация

Някои API изискват данни за удостоверяване. Автентикацията включва потвърждаване на самоличността на клиента, изпращащ заявка, а оторизацията включва потвърждение, че клиентът има разрешение да извърши операцията на крайната точка. Конфигурирането на данните за достъп се извършва в раздела Authorization.

Конфигуриране на хедърите на заявката

Някои API изискват да изпращането на конкретни хедъри заедно със заявките, обикновено за предоставяне на повече метаданни за операцията, която извършвате. Можете да ги настроите в раздела Headers. Въведете всички двойки ключ-стойност, от които се нуждаете, и Postman ще ги изпрати заедно с вашата заявка. Докато въвеждате текст, Postman ви подканва с общи опции, които можете да използвате, за да завършите автоматично настройката си, като Content-Type.

Postman автоматично добавя определени хедъри към вашите заявки въз основа на избора и настройките на вашата заявка. Те могат да бъдат скрити или показани при избор на алтернативите Hidden/Hide auto-generated headers.

Използване на бисквитки

Postman позволява използването на бисквитки при изпращането на заявка. За целта изберете Cookies (намира се под бутона Send).

Получаване на отговор

Прегледът на отговорите на Postman ви помага да визуализирате и проверите коректността на отговорите на API. Отговорът на API се състои от тяло на отговора, хедъри и HTTP код на състоянието.

Тяло на отговора

Разделът Body предоставя няколко изгледа на отговора: Pretty, Raw, Preview и Visualize.

Pretty

Изгледът Pretty форматира JSON или XML отговорите, така че да са по-лесни за преглед. Хипервръзките в изгледа Pretty са маркирани и избирането им може да зареди GET заявка в Postman с URL адреса на връзката.

Raw

Суровият изглед е голяма текстова област с тялото на отговора. Може да покаже дали вашият отговор е минифициран.

Preview

Изгледът за визуализация изобразява отговора в iframe sandbox. Някои уеб framework по подразбиране връщат HTML грешки и Preview може да бъде особено полезен за отстраняване на грешки в тези случаи.

Поради ограниченията на iframe sandbox, JavaScript и изображенията са изключени. За типове двоични отговори можете да изберете „Изпращане и изтегляне“, за да запазите отговора локално. След това можете да го прегледате с помощта на подходящия визуализатор. Това ви дава гъвкавостта да тествате аудио файлове, PDF файлове, zip файлове или всякакви други типове файлове, които API връща.

Visualize

Изгледът Visualize изобразява данните в отговора на API според кода за визуализация, добавен към тестовете на заявките.

Бисквитки

Можете да проверите бисквитките, изпратени от сървъра, в раздела Cookies. Записът на бисквитката включва нейното име, стойност, свързаните домейн и път, както и друга информация за бисквитката.

Хедъри

Хедърите се показват като двойки ключ-стойност в раздела Headers. Задръжте курсора на мишката над иконата за информация.

Мрежова информация

Postman показва мрежова информация, когато вашият API върне отговор. Задръжте курсора на мишката върху иконата на мрежата , за да получите локалния и отдалечения IP адрес за заявката, която сте изпратили.

Когато направите https заявка, иконата на мрежата включва катинар. Когато задържите курсора на мишката върху иконата, мрежовата информация ще покаже повече информация, включително подробности за проверка на сертификата.

Код на отговора

Postman показва кода на отговора, върнат от API. Задръжте курсора на мишката върху кода за отговора, за да получите кратко описание.

Време за отговор

Postman автоматично изчислява времето в милисекунди, необходимо на отговора да пристигне от сървъра. Тази информация може да бъде полезна за някои предварителни тестове на производителността. Задръжте курсора на мишката върху времето за реакция за графика с информация колко време е отнело всяко събитие в процеса.

Размер на отговора

Postman показва приблизителния размер на отговора. Задръжте курсора на мишката над размера на отговора, за да получите разбивка по размери на тялото и заглавието.

Тестване с Postman

В Postman можете да добавяте тестове към заявки, колекции и папки в колекция. За да добавите тест, отворете заявката, колекцията или папката и въведете своя код в раздела Scripts > Post-response. Можете да напишете свой собствен JavaScript или да отворите страничния панел до редактора на код и да изберете фрагмент. Тестовете се изпълняват, след като заявката се изпълни и се получи отговор от API. Резултатът се появява в раздела Test results на отговора.

Примери:

pm.test("Status test", function () {
    pm.response.to.have.status(200);
});
pm.test("Отговорът трябва да съдържа поле 'success'", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.success).to.be.true;
});

request-test-tab-v11 23

Post-response скриптовете могат да използват динамични променливи с различен обхват - глобални, променливи на средата (Environment), локални и променливи на колекция.

Създаване на променливи:

pm.globals.set("baseUrl", "https://postman-echo.com");  //глобална променлива
pm.environment.set("token", "abc123");                  //променлива на средата
pm.collectionVariables.set("userId", "12345");          //променлива на колекция
pm.variables.set("variable_key", "variable_value");     //локална променлива

Използване на променливи в заявки:

https://postman-echo.com/get?user_id= /get?user_id= //в хедъри за аутентикация

Автоматично задаване на променливи от отговор:

var jsonData = pm.response.json();
pm.environment.set("userToken", jsonData.token);

Пример:

image

image