Postman nedir: API testi ve isteklerle çalışma

Yazar: IT Sectr Yayınlanma: 2026-05-08 Okuma süresi: 9 dk

Postman — REST, GraphQL, WebSocket ve gRPC protokollerini destekleyen, grafik arayüzlü bir API test platformudur. Araç, HTTP istekleri oluşturmayı ve göndermeyi, bunları koleksiyonlar halinde düzenlemeyi, komut dosyalarıyla testi otomatikleştirmeyi ve uç noktalar için dokümantasyon üretmeyi sağlar. Postman Learning Center (2026)'a göre dünya genelinde 25 milyondan fazla geliştirici platformu kullanmaktadır.

Önemli noktalar

  • Postman görsel istek düzenleyicisi, koleksiyonlar ve ortam değişkenlerine sahip evrensel bir API istemcisidir.
  • Collections, JavaScript kontrolleriyle Collection Runner üzerinden çalıştırma imkânıyla istekleri gruplar halinde birleştirir.
  • Ortam değişkenleri, istekleri elle değiştirmeden dev, staging ve production arasında geçiş yapmanızı sağlar.
  • Test otomasyonu, asenkron kontrollerle JavaScript dilinde Pre-request Scripts ve Tests aracılığıyla uygulanır.
  • Dokümantasyon, Markdown desteği ve farklı dillerde kod örnekleriyle koleksiyona dayalı olarak otomatik oluşturulur.

Postman nedir ve temel özellikleri

Postman, masaüstü uygulaması (Windows, macOS, Linux) ve web sürümü olarak sunulan, API geliştirme ve test etme platformudur. 2012'de Chrome eklentisi olarak oluşturulan Postman, izleme, mock sunucu ve istemci kodu üretimi desteğiyle tam kapsamlı bir ekosisteme dönüşmüştür.

İstek ve yanıt biçimleri

Postman tüm HTTP yöntemlerini destekler: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS. İstek gövdesi JSON, XML, form-data, x-www-form-urlencoded ve binary biçimlerinde olabilir. Yanıt, sözdizimi vurgulama, Pretty-print ve ham başlıkları görüntüleme özelliğiyle gösterilir.

Kimlik doğrulama desteği

Yerleşik kimlik doğrulama türleri Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key ve AWS Signature içerir. Postman, seçilen türe göre Authorization başlıklarını otomatik ekler ve bu sayede jetonları elle kopyalamadan korumalı uç noktaların testini hızlandırır.

Postman arayüzü ve gezinme

Postman arayüzü yan panel (Collections, APIs, Environments), çalışma alanı (Request Builder/Response Viewer) ve alt panelden (Console, Runner) oluşur. Params sekmesi URL'deki sorgu parametrelerini tablo görünümünde düzenlemenizi, Headers sekmesi HTTP başlıklarını yönetmenizi sağlar.

Postman Console

Console (View → Show Postman Console), ara yönlendirmeler ve başlıklar dahil tüm ağ isteklerini ve yanıtlarını kronolojik sırayla kaydeder. Standart Response Viewer yalnızca nihai sonucu gösterdiğinde karmaşık OAuth akışlarını ve yönlendirme zincirlerini hata ayıklarken vazgeçilmez bir araçtır.

Workspaces ve ekip çalışması

Postman, Fork ve Merge aracılığıyla koleksiyon sürümlemesiyle ekip çalışma alanlarını destekler. Ekip üyeleri isteklere yorum yapabilir, değişiklik önerebilir ve koleksiyonları gerçek zamanlı senkronize edebilir. Public Workspace, harici geliştiriciler için API dokümantasyonu yayınlamanızı sağlar.

HTTP istekleri oluşturma ve gönderme

Postman'da temel bir istek, HTTP yöntemi seçilerek ve adres çubuğuna URL girilerek oluşturulur. Gönderimin ardından yanıt, durum kodu, yürütme süresi ve boyutuyla alt panelde görüntülenir. İstek parametreleri giriş sırasında otomatik olarak kodlanır.

Dinamik değişkenler ve snippet'lar

URL ve istek gövdesinde {{$variable}} biçiminde dinamik değişkenler kullanılabilir. Yerleşik değişkenler {{$guid}}, {{$timestamp}} ve {{$randomInt}} her istek için benzersiz değerler üretir. Kod snippet'ları, cURL, Python, JavaScript, Kotlin, Swift ve diğer dillerde eşdeğer bir istek üreten Code düğmesi () ile kullanılabilir.

javascript
// Pre-request'te komut dosyası örneği: HMAC imzası üretme
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()
});

Koleksiyonlar ve ortam değişkenleri

Koleksiyonlar, projeye veya işlevsel modüle göre birleştirilen ilgili istek gruplarıdır. Her koleksiyon, iç içe klasörler, ortak başlıklar ve koleksiyondaki her istekten önce çalışan Pre-request komut dosyaları içerebilir. İsteklerin sırası sürükleme ile belirlenir.

Ortam değişkenleri ve global değişkenler

Postman beş değişken düzeyini destekler: global, collection, environment, data ve local. Çakışma çözümleme önceliği yerelden globale doğrudur. Ortam dosyaları farklı ortamlar için anahtar-değer çiftleri içerir: development, staging, production. Ortamı değiştirmek tüm URL'leri ve jetonları otomatik değiştirir.

Düzey Kapsam Öncelik
Local Geçerli istek 1 (en yüksek)
Data Collection Runner (CSV/JSON'dan) 2
Environment Etkin ortam 3
Collection Tüm koleksiyon 4
Global Tüm çalışma alanı 5

Komut dosyalarıyla API testini otomatikleştirme

Postman, yanıt alındıktan sonra çalışan Tests sekmesinde JavaScript ile testler yazmanızı sağlar. Testler durum kodunu, yanıt gövdesini, başlıkları ve yürütme süresini kontrol eder. Sonuçlar, renkli geçme göstergeleriyle Test Results panelinde görüntülenir.

pm kitaplığı ve istek zincirleme

pm nesnesi yanıtla çalışmak için yöntemler sağlar: pm.response, pm.expect, pm.variables. İstek zincirleme, bir isteğin yanıtındaki verilerin bir değişkene kaydedilmesi ve sonrakinde kullanılmasıyla uygulanır. Bu, entegrasyon testleri oluşturmanın ve API çağrıları dizisiyle iş mantığını doğrulamanın temelidir.

javascript
// Test: yanıt yapısını doğrulama ve jetonu kaydetme
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 ve Newman

Collection Runner, koleksiyonun tüm isteklerini sırayla çalıştırır ve her adımda testleri yürütür. Newman, CI/CD ardışık düzenleri (Jenkins, GitHub Actions, GitLab CI) için Postman'ın konsol sürümüdür. Newman, izleme sistemleriyle entegrasyon için JSON, JUnit ve HTML biçimlerinde raporlar dışa aktarır.

GraphQL ve WebSocket ile çalışma

Postman'da GraphQL istekleri, JSON biçiminde gövdeyle tek bir uç noktaya POST ile gönderilir. GraphQL (Beta) sekmesi, sözdizimi vurgulama, alan otomatik tamamlama ve şemayla görsel bir düzenleyici sağlar. İstek değişkenleri ayrı bir Variables panelinde iletilir.

WebSocket ve Socket.IO testi

Postman, mesaj paneli olan ayrı bir arayüz üzerinden WebSocket bağlantılarını destekler. Metin ve ikili mesajlar gönderebilir, bağlantı geçmişini görüntüleyebilir ve bağlantı kesildiğinde otomatik yeniden bağlanabilirsiniz. Socket.IO istemcisi, Engine.IO protokolüyle uyumluluk modunda çalışır.

javascript
// pm API aracılığıyla Postman'da WebSocket testi
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
    pm.test("Echo response received", () => {
        pm.expect(event.data).to.eql("Hello");
    });
};

Postman'da mock sunucular ve izleme

Postman'ın mock sunucuları, mevcut koleksiyonlara dayalı olarak API uç noktalarını simüle etmenizi sağlar. Bu, arka uç henüz hazır olmadığında ancak ön uç veya mobil uygulama zaten geliştirilirken faydalıdır. Mock sunucu, doğru başlıklar ve durum koduyla koleksiyondan örnek bir yanıt döndürür.

Mock sunucu oluşturma

Mock sunucu, koleksiyondan tek tıkla oluşturulur: koleksiyonu seçin → Mock Servers → Add a new mock server. Postman, gerçek API yerine uygulama kodunda kullanılabilecek benzersiz bir URL üretir. Koleksiyonun her isteği için mock, kayıtlı Example Response döndürür ve böylece arka uç tamamlanmadan önce arayüzü test etmenizi sağlar.

Postman Monitors ile API izleme

Monitors, koleksiyonu bir zamanlamaya göre (her 5 dakikada, saatte veya günde) çalıştırır ve API'nin kullanılabilirliğini ve doğruluğunu kontrol eder. Bir test başarısız olduğunda, monitör e-postaya veya Slack'e bildirim gönderir. İzleme, Postman bulutundan çalışır, ayrı bir sunucu gerektirmez ve ücretsiz planda ayda 10.000 isteğe kadar destekler.

javascript
// İzleme için test: yanıt süresini doğrulama
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");
});

Güvenlik ve gizli bilgi yönetimi

Postman, API anahtarlarıyla güvenli çalışma mekanizmaları sağlar. Secret türündeki değişkenler şifrelenir ve arayüzde görüntülenmez. Ekip çalışması için Admin, Editor ve Viewer rolleri olan bir Workspace kullanın.

Değişkenlerin şifrelenmesi

Bir ortam değişkeni oluştururken Secret türünü seçin — değer tüm arayüzlerde yıldız işaretleriyle gizlenir. Gizli bilgiler paylaşım sırasında koleksiyona dışa aktarılmaz ve Newman günlüklerinde görüntülenmez. Parolaların ve jetonların yalnızca Secret değişkenlerinde saklanması önerilir.

Vault entegrasyonu

Postman, HashiCorp Vault ve AWS Secrets Manager ile entegrasyonu destekler. Pre-request komut dosyaları, harici depolamadan gizli bilgileri dinamik olarak isteyebilir ve koleksiyon ortam dosyalarında hassas verilerin saklanmasını önler.

Güvenlik ve gizli bilgi yönetimi

Postman, API anahtarlarıyla güvenli çalışma mekanizmaları sağlar. Secret türündeki değişkenler şifrelenir ve arayüzde görüntülenmez. Ekip çalışması için Admin, Editor ve Viewer rolleri olan bir Workspace kullanın.

Değişkenlerin şifrelenmesi

Bir ortam değişkeni oluştururken Secret türünü seçin — değer tüm arayüzlerde yıldız işaretleriyle gizlenir. Gizli bilgiler paylaşım sırasında koleksiyona dışa aktarılmaz ve Newman günlüklerinde görüntülenmez. Parolaların ve jetonların yalnızca Secret değişkenlerinde saklanması önerilir.

Vault entegrasyonu

Postman, HashiCorp Vault ve AWS Secrets Manager ile entegrasyonu destekler. Pre-request komut dosyaları, harici depolamadan gizli bilgileri dinamik olarak isteyebilir ve koleksiyon ortam dosyalarında hassas verilerin saklanmasını önler.

Sık sorulan sorular

Postman, Insomnia'dan nasıl farklıdır?

Postman daha geniş bir ekosistem sunar: koleksiyonlar, ortamlar, izleme, mock sunucular ve CI/CD için Newman. Insomnia, daha düşük bellek tüketimiyle hafiflik ve hıza odaklanır. Postman ekip çalışması için, Insomnia bireysel kullanım için daha uygundur.

İstekler arasında yetkilendirme jetonu nasıl iletilir?

İlk isteğin Tests bölümünde, jetonu ortama kaydedin: pm.environment.set("token", pm.response.json().token). İkinci istekte Authorization başlığında {{$token}} değişkenini kullanın. Sıralı çalıştırmada Runner değeri otomatik olarak yerleştirir.

Postman'a bir cURL komutu içe aktarılabilir mi?

Evet, Import → Raw Text düğmesiyle. Postman cURL komutunu otomatik olarak ayrıştırır ve başlıklar, yöntem ve gövdeyle bir istek oluşturur. -H, -d, -F ve -u dahil tüm cURL bayrakları desteklenir. Ters dönüştürme Code düğmesiyle () kullanılabilir.

Postman'da GraphQL nasıl test edilir?

JSON gövdeyle bir POST isteği kullanın: {"query": "..."}. GraphQL sekmesi, Introspection Query ile şema yüklemesiyle görsel bir düzenleyici sağlar. İstek değişkenleri aynı JSON nesnesinin variables alanında iletilir.

Newman nedir ve neden gereklidir?

Newman, CI/CD'de koleksiyonları çalıştırmak için Postman'ın konsol sürümüdür. npm ile kurulur, HTML raporları ve Jenkins, GitHub Actions ve GitLab CI ile entegrasyonu destekler. Grafik arayüz olmadan API gerileme testlerini otomatikleştirmenizi sağlar.

Özet

  • Postman, 25 milyon kullanıcıyla REST, GraphQL, WebSocket ve gRPC API testi için evrensel bir platformdur.
  • Koleksiyonlar, iç içe klasörler ve ortak komut dosyaları desteğiyle istekleri projeye göre gruplandırır.
  • Ortam değişkenleri, manuel düzenleme olmadan dev, staging ve production arasında kesintisiz geçiş sağlar.
  • Test otomasyonu, toplu yürütme için pm nesnesi ve Collection Runner ile JavaScript komut dosyalarıyla uygulanır.
  • Newman, her dağıtımda API gerileme testleri için CI/CD ardışık düzenlerine entegre edilir.
  • Dinamik değişkenler, $guid, $timestamp ve $randomInt ile benzersiz verilerle testi basitleştirir.
  • WebSocket ve GraphQL desteği, Postman'ın kapsamını klasik REST isteklerinin ötesine genişletir.

Anahtar teslim bir mobil uygulama geliştireceğiz

IT Sectr, 2017'den beri girişimler ve işletmeler için iOS ve Android uygulamaları oluşturmaktadır. Size danışmanlık yapacak ve en iyi çözümü önereceğiz.

Projeyi tartış

Ayrıca okuyun