Postman: vad är det, API-testning och arbete med förfrågningar

Författare: IT Sectr Publicerad: 2026-05-08 Lästid: 9 min

Postman — plattform för API-testning med grafiskt gränssnitt som stöder protokollen REST, GraphQL, WebSocket och gRPC. Verktyget gör det möjligt att skapa och skicka HTTP-förfrågningar, organisera dem i samlingar, automatisera testning via skript och generera dokumentation för endpoints. Enligt uppgifter från Postman Learning Center (2026) används plattformen av över 25 miljoner utvecklare världen över.

Viktigaste punkterna

  • Postman — universell API-klient med visuell redigerare för förfrågningar, samlingar och miljövariabler.
  • Collections sammanför förfrågningar i grupper med möjlighet att köra via Collection Runner med kontroller i JavaScript.
  • Miljövariabler gör det möjligt att växla mellan dev, staging och production utan att ändra förfrågningar manuellt.
  • Automatisering av tester genomförs via Pre-request Scripts och Tests i JavaScript med asynkrona kontroller.
  • Dokumentation genereras automatiskt baserat på samlingen med stöd för Markdown och kodexempel på olika språk.

Vad är Postman och de viktigaste funktionerna

Postman är en plattform för utveckling och testning av API:er, tillgänglig som skrivbordsapp (Windows, macOS, Linux) och webbversion. Ursprungligen skapat som tillägg för Chrome 2012 har Postman vuxit till ett fullvärdigt ekosystem med stöd för övervakning, mock-servrar och generering av klientkod.

Format för förfrågningar och svar

Postman stöder alla HTTP-metoder: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. Förfrågans innehåll kan vara i formaten JSON, XML, form-data, x-www-form-urlencoded och binary. Svaret visas med syntaxmarkering, Pretty-print och möjlighet att visa råa rubriker.

Stöd för autentisering

De inbyggda autentiseringstyperna omfattar Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key och AWS Signature. Postman lägger automatiskt till Authorization-rubriken enligt vald typ, vilket snabbar upp testningen av skyddade endpoints utan att manuellt kopiera tokens.

Postmans gränssnitt och navigering

Postmans gränssnitt består av sidopanelen (Collections, APIs, Environments), arbetsområdet (Request Builder/Response Viewer) och den nedre panelen (Console, Runner). Fliken Params gör det möjligt att redigera URL:ens query-parametrar i tabellform, fliken Headers — att hantera HTTP-rubriker.

Postman Console

Console (View → Show Postman Console) loggar alla nätverksförfrågningar och svar i kronologisk ordning, inklusive mellanliggande omdirigeringar och rubriker. Det är ett oumbärligt verktyg vid felsökning av komplexa OAuth-flöden och kedjor av omdirigeringar, när den vanliga Response Viewer bara visar slutresultatet.

Workspaces och teamarbete

Postman stöder teamarbetsytor (Workspaces) med versionshantering av samlingar via Fork och Merge. Teammedlemmar kan kommentera förfrågningar, föreslå ändringar och synkronisera samlingar i realtid. Public Workspace gör det möjligt att publicera API-dokumentation för externa utvecklare.

Skapa och skicka HTTP-förfrågningar

En grundläggande förfrågan i Postman skapas genom att välja HTTP-metod och ange en URL i adressfältet. Efter att den skickats visas svaret i den nedre panelen med statuskod, exekveringstid och storlek. Förfrågans parametrar kodas automatiskt vid inmatning.

Dynamiska variabler och snuttar

I URL:en och förfrågans innehåll kan dynamiska variabler i formatet {`{`}}$variable${`}`} användas. De inbyggda variablerna {`{`}$guid${`}`}, {`{`}$timestamp${`}`} och {`{`}$randomInt${`}`} genererar unika värden för varje förfrågan. Kodsnuttar finns via knappen Code (), som genererar en motsvarande förfrågan i cURL, Python, JavaScript, Kotlin, Swift och andra språk.

javascript
// Exempelskript i Pre-request: generering av HMAC-signatur
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()
});

Samlingar och miljövariabler

Samlingar är grupper av relaterade förfrågningar, sammanförda efter projekt eller funktionsmodul. Varje samling kan innehålla kapslade mappar, gemensamma rubriker och Pre-request-skript som körs före varje förfrågan i samlingen. Förfrågningarnas ordning ställs in genom att dra.

Miljövariabler och globala variabler

Postman stöder fem nivåer av variabler: global, collection, environment, data och local. Prioritet för konfliktlösning — från lokala till globala. Environment-filer innehåller nyckel-värde-par för olika miljöer: development, staging, production. Byte av miljö ändrar automatiskt alla URL:er och tokens.

NivåSynlighetsområdePrioritet
LocalAktuell förfrågan1 (högst)
DataCollection Runner (från CSV/JSON)2
EnvironmentAktiv miljö3
CollectionHela samlingen4
GlobalHela arbetsytan5

Automatisering av API-testning via skript

Postman gör det möjligt att skriva tester i JavaScript på fliken Tests, som körs efter att svaret mottagits. Testerna kontrollerar statuskoden, svarets innehåll, rubrikerna och exekveringstiden. Resultaten visas på panelen Test Results med färgindikator för godkänt.

pm-biblioteket och kedjning av förfrågningar

Objektet pm tillhandahåller metoder för att arbeta med svaret: pm.response, pm.expect, pm.variables. Kedjning av förfrågningar genomförs genom att spara data från svaret på en förfrågan i en variabel och använda den i nästa. Detta är grunden för att bygga integrationstester och verifiera affärslogik genom en sekvens av API-anrop.

javascript
// Test: kontroll av svarsstrukturen och spara token
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 och Newman

Collection Runner kör alla förfrågningar i samlingen sekventiellt och utför tester vid varje steg. Newman — konsolversion av Postman för CI/CD-pipelines (Jenkins, GitHub Actions, GitLab CI). Newman exporterar rapporten i formaten JSON, JUnit och HTML för integration med övervakningssystem.

Arbeta med GraphQL och WebSocket

GraphQL-förfrågningar skickas i Postman via POST till en enda endpoint med innehåll i JSON-format. Fliken GraphQL (Beta) tillhandahåller en visuell redigerare med syntaxmarkering, autokomplettering av fält och schema. Förfrågans variabler överförs på en separat panel Variables.

WebSocket- och Socket.IO-testning

Postman stöder WebSocket-anslutningar via ett separat gränssnitt med meddelandepanel. Man kan skicka text- och binära meddelanden, visa anslutningshistorik och automatiskt återansluta vid avbrott. Socket.IO-klienten fungerar i kompatibilitetsläge med Engine.IO-protokollet.

javascript
// WebSocket-test i Postman via 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-servrar och övervakning i Postman

Mock-servrar gör det möjligt att emulera API-endpoints baserat på befintliga samlingar. Detta är användbart när backend inte är klar än, medan frontend eller mobilappen redan utvecklas. Mock-servern returnerar ett exempelsvar från samlingen med korrekta rubriker och statuskod.

Skapa en mock-server

Mock-servern skapas från samlingen med ett klick: välj samlingen → Mock Servers → Add a new mock server. Postman genererar en unik URL som kan användas i appens kod i stället för det verkliga API:et. För varje förfrågan i samlingen returnerar mocken det sparade Example Response, vilket gör det möjligt att kontrollera UI:t innan backend är färdig.

API-övervakning via Postman Monitors

Monitors kör samlingen enligt schema (var 5:e minut, timme eller dag) och kontrollerar API:ets tillgänglighet och korrekthet. Vid ett misslyckat test skickar monitorn en notis via e-post eller till Slack. Övervakningen fungerar från Postmans moln, kräver ingen separat server och stöder upp till 10 000 förfrågningar per månad i det kostnadsfria abonnemanget.

javascript
// Test för övervakning: kontroll av svarstid
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");
});

Säkerhet och hantering av hemligheter

Postman tillhandahåller mekanismer för säker hantering av API-nycklar. Variabler av typen Secret krypteras och visas inte i gränssnittet. För teamarbete använder du en Workspace med rollerna Admin, Editor och Viewer.

Kryptering av variabler

Välj typen Secret när du skapar en miljövariabel — värdet döljs med asterisker i alla gränssnitt. Hemligheter exporteras inte till samlingen vid delning och visas inte i Newman-loggar. Lösenord och tokens rekommenderas att endast lagras i Secret-variabler.

Integration med Vault

Postman stöder integration med HashiCorp Vault och AWS Secrets Manager. Pre-request-skript kan dynamiskt hämta hemligheter från extern lagring, vilket utesluter lagring av känsliga uppgifter i samlingens och miljöns filer.

Säkerhet och hantering av hemligheter

Postman tillhandahåller mekanismer för säker hantering av API-nycklar. Variabler av typen Secret krypteras och visas inte i gränssnittet. För teamarbete använder du en Workspace med rollerna Admin, Editor och Viewer.

Kryptering av variabler

Välj typen Secret när du skapar en miljövariabel — värdet döljs med asterisker i alla gränssnitt. Hemligheter exporteras inte till samlingen vid delning och visas inte i Newman-loggar. Lösenord och tokens rekommenderas att endast lagras i Secret-variabler.

Integration med Vault

Postman stöder integration med HashiCorp Vault och AWS Secrets Manager. Pre-request-skript kan dynamiskt hämta hemligheter från extern lagring, vilket utesluter lagring av känsliga uppgifter i samlingens och miljöns filer.

Vanliga frågor

Vad skiljer Postman från Insomnia?

Postman erbjuder ett bredare ekosystem: samlingar, miljöer, övervakning, mock-servrar och Newman för CI/CD. Insomnia fokuserar på lätthet och hastighet med lägre minnesanvändning. Postman passar bättre för teamarbete, Insomnia — för individuellt bruk.

Hur överför man en autentiseringstoken mellan förfrågningar?

Spara token i environment i Tests för den första förfrågan: pm.environment.set("token", pm.response.json().token). I den andra förfrågan använder du variabeln {`{`}$token${`}`} i Authorization-rubriken. Runner ersätter automatiskt värdet vid sekventiell körning.

Kan man importera ett cURL-kommando i Postman?

Ja, via knappen Import → Raw Text. Postman tolkar automatiskt cURL-kommandot och skapar en förfrågan med rubriker, metod och innehåll. Alla cURL-flaggor stöds, inklusive -H, -d, -F och -u. Omvänd konvertering finns via knappen Code (<>).

Hur testar man GraphQL i Postman?

Använd en POST-förfrågan med JSON-innehåll: {"query": "..."}. Fliken GraphQL tillhandahåller en visuell redigerare med inläsning av schema via Introspection Query. Förfrågans variabler överförs i fältet variables i samma JSON-objekt.

Vad är Newman och vad används det till?

Newman är konsolversionen av Postman för att köra samlingar i CI/CD. Det installeras via npm, stöder HTML-rapporter och integration med Jenkins, GitHub Actions och GitLab CI. Det gör det möjligt att automatisera regressionstestning av API:er utan grafiskt gränssnitt.

Slutsatser

  • Postman — universell plattform för testning av REST-, GraphQL-, WebSocket- och gRPC-API:er med 25 miljoner användare.
  • Samlingar sammanför förfrågningar per projekt med stöd för kapslade mappar och gemensamma skript.
  • Miljövariabler säkerställer sömlös växling mellan dev, staging och production utan manuell redigering.
  • Automatisering av tester genomförs via JavaScript-skript med objektet pm och Collection Runner för batchkörning.
  • Newman integreras i CI/CD-pipelines för regressionstestning av API:er vid varje deploy.
  • Dynamiska variabler förenklar testning med unika data via $guid, $timestamp och $randomInt.
  • Stödet för WebSocket och GraphQL utökar Postmans användningsområde bortom klassiska REST-förfrågningar.

Vi utvecklar en mobil applikation nyckelfärdigt

IT Sectr skapar iOS- och Android-applikationer för startups och företag sedan 2017. Vi ger dig råd och föreslår den bästa lösningen.

Diskutera projektet

Läs också