Postman: шта је то, тестирање API-ја и рад са захтевима

Аутор: IT Sectr Објављено: 2026-05-08 Време читања: 9 мин

Postman — платформа за тестирање API-ја са графичким интерфејсом, подржава REST, GraphQL, WebSocket и gRPC протоколе. Алат омогућава креирање и слање HTTP захтева, организовање у колекције, аутоматизовање тестирања преко скрипти и генерисање документације за ендпоинте. Према подацима Postman Learning Center (2026), платформу користи више од 25 милиона програмера широм света.

Најважније

  • Postman — универзални API клијент са визуелним едитором захтева, колекцијама и променљивима окружења.
  • Collections обједињавају захтеве у групе са могућношћу покретања преко Collection Runner-а са проверкама на JavaScript-у.
  • Променљиве окружења омогућавају прелазак између dev, staging и production без ручног мењања захтева.
  • Аутоматизација тестова се реализује преко Pre-request Scripts и Tests на језику JavaScript са асинхроним проверама.
  • Документација се генерише аутоматски на основу колекције са подршком за Markdown и примере кода на различитим језицима.

Шта је Postman и кључне могућности

Postman — платформа за развој и тестирање API-ја, доступна као десктоп апликација (Windows, macOS, Linux) и веб верзија. Првобитно креиран као екстензија за Chrome 2012. године, Postman је прерастао у потпуни екосистем са подршком за мониторинг, mock сервере и генерисање клијентског кода.

Формати захтева и одговора

Postman подржава све HTTP методе: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Тело захтева може бити у форматима JSON, XML, form-data, x-www-form-urlencoded и binary. Одговор се приказује са истицањем синтаксе, Pretty-print-ом и могућношћу прегледа сирових заглавља.

Подршка за аутентификацију

Уграђени типови аутентификације укључују Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key и AWS Signature. Postman аутоматски додаје Authorization заглавље према изабраном типу, што убрзава тестирање заштићених ендпоинта без ручног копирања токена.

Postman интерфејс и навигација

Postman интерфејс се састоји од бочног панела (Collections, APIs, Environments), радне области (Request Builder/Response Viewer) и доњег панела (Console, Runner). Таб Params омогућава уређивање query параметара URL-а у табеларном облику, а таб Headers — управљање HTTP заглављима.

Postman Console

Console (View → Show Postman Console) евидентира све мрежне захтеве и одговоре у хронолошком редоследу, укључујући међурердиректе и заглавља. То је незаменљив алат при отклањању грешака у сложеним OAuth токовима и ланцима редиректа, када стандардни Response Viewer приказује само крајњи резултат.

Workspaces и тимски рад

Postman подржава тимске радне просторе (Workspaces) са верзионисањем колекција преко Fork и Merge. Чланови тима могу да коментаришу захтеве, предлажу измене и синхронизују колекције у реалном времену. Public Workspace омогућава објављивање API документације за спољне програмере.

Креирање и слање HTTP захтева

Основни захтев у Postman-у се креира избором HTTP методе и уносом URL-а у адресну линију. Након слања, одговор се приказује у доњем панелу са кодом статуса, временом извршавања и величином. Параметри захтева се аутоматски кодирају при уносу.

Динамичке променљиве и снипети

У URL-у и телу захтева могу се користити динамичке променљиве у формату {`{`}}$variable${`}`}. Уграђене променљиве {`{`}$guid${`}`}, {`{`}$timestamp${`}`} и {`{`}$randomInt${`}`} генеришу јединствене вредности за сваки захтев. Снипети кода су доступни преко дугмета Code (), које генерише еквивалентан захтев на cURL, Python, JavaScript, Kotlin, Swift и другим језицима.

javascript
// Пример скрипте у Pre-request: генерисање HMAC потписа
const timestamp = Date.now().toString();
const secret = pm.environment.get("api_secret");
const hash = CryptoJS.HmacSHA256(timestamp, secret);
pm.request.headers.add({
    key: "X-Signature",
    value: hash.toString()
});

Колекције и променљиве окружења

Колекције су групе повезаних захтева, обједињених по пројекту или функционалном модулу. Свака колекција може да садржи угнежђене фасцикле, заједничка заглавља и Pre-request скрипте, које се извршавају пре сваког захтева у колекцији. Редослед захтева се поставља превлачењем.

Променљиве окружења и глобалне променљиве

Postman подржава пет нивоа променљивих: global, collection, environment, data и local. Приоритет решавања конфликата — од локалних ка глобалним. Environment датотеке садрже парове кључ-вредност за различита окружења: development, staging, production. Промена окружења мења све URL-ове и токене аутоматски.

НивоОбласт видљивостиПриоритет
LocalТренутни захтев1 (највиши)
DataCollection Runner (из CSV/JSON-а)2
EnvironmentАктивно окружење3
CollectionЦела колекција4
GlobalЦео радни простор5

Аутоматизација тестирања API-ја преко скрипти

Postman омогућава писање тестова на JavaScript-у у табу Tests, који се извршавају након пријема одговора. Тестови проверавају код статуса, тело одговора, заглавља и време извршавања. Резултати се приказују у панелу Test Results са обојеном индикацијом проласка.

Библиотека pm и везивање захтева

Објекат pm пружа методе за рад са одговором: pm.response, pm.expect, pm.variables. Везивање захтева се реализује чувањем података из одговора једног захтева у променљиву и коришћењем у следећем. То је основа за изградњу интеграционих тестова и проверу бизнис логике кроз низ API позива.

javascript
// Тест: провера структуре одговора и чување токена
pm.test("Status code is 200", () => {
    pm.response.to.have.status(200);
});

const json = pm.response.json();
pm.environment.set("auth_token", json.data.token);

Collection Runner и Newman

Collection Runner покреће све захтеве колекције секвенцијално, извршавајући тестове на сваком кораку. Newman — конзолна верзија Postman-а за CI/CD пајплајнове (Jenkins, GitHub Actions, GitLab CI). Newman извози извештај у форматима JSON, JUnit и HTML за интеграцију са системима за мониторинг.

Рад са GraphQL и WebSocket-ом

GraphQL захтеви се у Postman-у шаљу преко POST на јединствени ендпоинт са телом у JSON формату. Таб GraphQL (Beta) пружа визуелни едитор са истицањем синтаксе, аутоматским допуњавањем поља и шемом. Променљиве захтева се прослеђују у посебном панелу Variables.

WebSocket и Socket.IO тестирање

Postman подржава WebSocket конекције преко посебног интерфејса са панелом за поруке. Могу се слати текстуалне и бинарне поруке, прегледати историја конекције и аутоматски поново повезати при прекиду. Socket.IO клијент ради у режиму компатибилности са Engine.IO протоколом.

javascript
// WebSocket тест у Postman-у преко pm API-ја
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
    pm.test("Echo response received", () => {
        pm.expect(event.data).to.eql("Hello");
    });
};

Mock сервери и мониторинг у Postman-у

Mock сервери омогућавају емулацију API ендпоинта на основу постојећих колекција. То је корисно када бекенд још није готов, а фронтенд или мобилна апликација се већ развија. Mock сервер враћа пример одговора из колекције са исправним заглављима и кодом статуса.

Креирање Mock сервера

Mock сервер се креира из колекције једним кликом: изаберите колекцију → Mock Servers → Add a new mock server. Postman генерише јединствени URL, који се може користити у коду апликације уместо правог API-ја. За сваки захтев колекције mock враћа сачувани Example Response, што омогућава проверу UI-ја до завршетка бекенда.

Мониторинг API-ја преко Postman Monitors

Monitors покрећу колекцију по распореду (сваких 5 минута, сат или дан) и проверавају доступност и исправност API-ја. При паду теста, монитор шаље обавештење на email или у Slack. Мониторинг ради из Postman облака, не захтева посебан сервер и подржава до 10 000 захтева месечно на бесплатном тарифу.

javascript
// Тест за мониторинг: провера времена одговора
pm.test("Response time < 2000ms", () => {
    pm.expect(pm.response.responseTime).to.be.below(2000);
});

pm.test("Content-Type is JSON", () => {
    pm.response.to.have.header("Content-Type");
});

Безбедност и управљање тајнама

Postman пружа механизме за безбедан рад са API кључевима. Променљиве типа Secret се шифрују и не приказују у интерфејсу. За тимски рад користите Workspace са улогама Admin, Editor и Viewer.

Шифровање променљивих

При креирању променљиве окружења изаберите тип Secret — вредност се скрива звездицама у свим интерфејсима. Тајне се не извозе у колекцију при дељењу и не приказују се у Newman дневницима. Лозинке и токене препоручује се чувати само у Secret променљивим.

Интеграција са Vault-ом

Postman подржава интеграцију са HashiCorp Vault и AWS Secrets Manager. Pre-request скрипте могу динамички да затраже тајне из спољног складишта, искључујући чување осетљивих података у датотекама колекције и окружења.

Безбедност и управљање тајнама

Postman пружа механизме за безбедан рад са API кључевима. Променљиве типа Secret се шифрују и не приказују у интерфејсу. За тимски рад користите Workspace са улогама Admin, Editor и Viewer.

Шифровање променљивих

При креирању променљиве окружења изаберите тип Secret — вредност се скрива звездицама у свим интерфејсима. Тајне се не извозе у колекцију при дељењу и не приказују се у Newman дневницима. Лозинке и токене препоручује се чувати само у Secret променљивим.

Интеграција са Vault-ом

Postman подржава интеграцију са HashiCorp Vault и AWS Secrets Manager. Pre-request скрипте могу динамички да затраже тајне из спољног складишта, искључујући чување осетљивих података у датотекама колекције и окружења.

Честа питања

По чему се Postman разликује од Insomnia?

Postman нуди шири екосистем: колекције, окружења, мониторинг, mock сервере и Newman за CI/CD. Insomnia се фокусира на лакоћу и брзину са мањом потрошњом меморије. Postman је бољи за тимски рад, Insomnia — за индивидуалну употребу.

Како пренети токен за ауторизацију између захтева?

У Tests првог захтева сачувајте токен у environment: pm.environment.set("token", pm.response.json().token). У другом захтеву користите променљиву {`{`}$token${`}`} у Authorization заглављу. Runner ће аутоматски убацити вредност при секвенцијалном покретању.

Могу ли се cURL команде импортовати у Postman?

Да, преко дугмета Import → Raw Text. Postman аутоматски парсира cURL команду и креира захтев са заглављима, методом и телом. Подржани су сви cURL флагови, укључујући -H, -d, -F и -u. Обрнута конверзија је доступна преко дугмета Code (<>).

Како тестирати GraphQL у Postman-у?

Користите POST захтев са JSON телом: {"query": "..."}. Таб GraphQL пружа визуелни едитор са учитавањем шеме преко Introspection Query. Променљиве захтева се прослеђују у поље variables истог JSON објекта.

Шта је Newman и зашто је потребан?

Newman — конзолна верзија Postman-а за покретање колекција у CI/CD-у. Инсталира се преко npm-а, подржава HTML извештаје и интеграцију са Jenkins, GitHub Actions и GitLab CI. Омогућава аутоматизацију регресивног тестирања API-ја без графичког интерфејса.

Закључци

  • Postman — универзална платформа за тестирање REST, GraphQL, WebSocket и gRPC API-ја са 25 милиона корисника.
  • Колекције обједињују захтеве по пројектима са подршком за угнежђене фасцикле и заједничке скрипте.
  • Променљиве окружења обезбеђују беспрекидан прелазак између dev, staging и production без ручног уређивања.
  • Аутоматизација тестова се реализује преко JavaScript скрипти са pm објектом и Collection Runner-ом за серијско покретање.
  • Newman се интегрише у CI/CD пајплајнове за регресивно тестирање API-ја при сваком деплоју.
  • Динамичке променљиве поједностављују тестирање са јединственим подацима преко $guid, $timestamp и $randomInt.
  • Подршка за WebSocket и GraphQL проширује област примене Postman-а изван класичних REST захтева.

Развићемо мобилну апликацију под кључ

IT Sectr креира iOS и Android апликације за стартапе и предузећа од 2017. године. Саветоваћемо вас и предложити најбоље решење.

Разговарајте о пројекту

Прочитајте такође