Newman ve Postman Arasındaki Fark Nedir?

INEZA Felin-Michel

INEZA Felin-Michel

22 May 2026

Newman ve Postman Arasındaki Fark Nedir?

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfet

Newman ve Postman rakip değildir. Tek bir iş akışının iki yarısıdırlar. Postman, istekleri tasarladığınız, testler yazdığınız ve API'leri elle keşfettiğiniz masaüstü uygulamasıdır. Newman, Postman'de oluşturduğunuz koleksiyonları GUI olmadan çalıştıran komut satırı aracıdır. Postman bir atölye ise, Newman bitmiş işinizi bir program dahilinde çalıştıran makinedir.

Kafa karışıklığı genellikle “Hangisini kullanmalıyım?” sorusundan kaynaklanır. Dürüst cevap, farklı aşamalarda ikisi de. Postman'de yazarsınız çünkü grafiksel bir arayüz bunu hızlandırır. Newman'da yürütürsünüz çünkü bir işlem hattı düğmelere tıklayamaz. Bu makale, ilişkiyi hassas bir şekilde açıklıyor, her birinin nerede yer aldığını gösteriyor ve Newman'ı bir CI/CD işlem hattına nasıl dahil edeceğinizi anlatıyor.

Postman Nedir

Postman grafiksel bir API platformudur. Onu bir masaüstü uygulaması olarak yüklersiniz, istekler oluşturur, bunları koleksiyonlar ve klasörler halinde düzenler ve temel URL'ler ile belirteçler gibi değişkenleri barındıran ortamlar eklersiniz. Her yanıttan sonra, Postman isteğin Testler sekmesinde yazdığınız JavaScript test betiklerini çalıştırır.

Bir Postman test betiği yanıtı kontrol eder:

pm.test("Durum kodu 200", function () {
    pm.response.to.have.status(200);
});

pm.test("Toplam sipariş pozitif bir sayı", function () {
    const body = pm.response.json();
    pm.expect(body.total).to.be.a("number");
    pm.expect(body.total).to.be.above(0);
});

Postman interaktif çalışmalar için tasarlanmıştır. Yeni bir uç noktada hata ayıklayan bir geliştirici, istekler gönderir, yanıtları inceler, başlıkları ayarlar ve saniyeler içinde yineler. Bir QA mühendisi bu istekleri kaydedilmiş bir regresyon paketine dönüştürür. Ekipler çalışma alanlarını paylaşır, böylece herkes aynı koleksiyondan çalışır. Tüm bunlar görsel bir arayüzden faydalanır. Postman ile API'ler nasıl test edilir kılavuzumuz, bu iş akışını ayrıntılı olarak ele alır.

Postman'ın tasarlanmadığı şey ise katılımsız yürütmedir. Bir paketi çalıştırmak, uygulamayı açıp Koleksiyon Çalıştırıcısı'na tıklamak anlamına gelir. Bu, masanın başındaki bir kişi için uygundur. Bir derleme sunucusu için ise işe yaramaz.

Newman Nedir

Newman, Postman'in resmi komut satırı koleksiyon çalıştırıcısıdır. Postman'in ürettiği tamamen aynı koleksiyon dosyalarını çalıştıran, kullanımı ücretsiz, açık kaynaklı bir npm paketidir. Bir koleksiyonu JSON dosyası olarak dışa aktarır, Newman'a verirsiniz ve Newman her isteği ve her test betiğini çalıştırır, ardından sonuçları terminalinize bildirir.

npm ile yükleyin:

npm install -g newman

Bir koleksiyonu çalıştırın:

newman run orders-api.postman_collection.json \
  --environment staging.postman_environment.json

Newman her isteği çalıştırır, Postman'in yapacağı aynı pm.test onaylamalarını yürütür ve bir özet yazdırır. Önemli ayrıntı şudur ki Newman, Postman ile aynı yürütme motorunu kullanır, bu nedenle GUI'de geçen bir koleksiyon komut satırında da aynı şekilde davranır. Yeniden yazmaya veya ayrı bir test diline gerek yoktur.

Herhangi bir test başarısız olduğunda Newman sıfırdan farklı bir durum koduyla çıkar. Bu tek davranış, onu otomasyon için değerli kılar: bir derleme sistemi bu çıkış kodunu okur ve bozuk bir onaylama durumunda derlemeyi başarısız sayar. Başarılı bir çalıştırma sıfır ile çıkar ve işlem hattı devam eder.

Yan Yana Karşılaştırma

Yön Postman Newman
Arayüz Grafiksel masaüstü uygulaması Komut satırı, UI yok
Birincil kullanım Yazma, hata ayıklama, keşfetme Otomatik, katılımsız yürütme
Nerede çalışır Bir geliştiricinin makinesinde CI sunucuları, terminaller, zamanlayıcılar
Maliyet Ücretsiz katman ve ücretli planlar Açık kaynak, tamamen ücretsiz
Kurulum Masaüstü yükleyici npm paketi
Test betikleri Uygulamada yazılır ve çalıştırılır Aynı betikleri başsız çalıştırır
Raporlama Uygulamadaki sonuç paneli Terminal çıktısı ve raporlayıcı eklentileri
En iyi olduğu alan İnteraktif yineleme Tekrarlanabilir, betiklenebilir çalıştırmalar

Koleksiyon JSON dosyası, aralarındaki köprüdür. Onu bir kez Postman'de oluşturursunuz ve Newman onu otomasyonda sonsuza dek çalıştırır.

Newman CI/CD'ye Nasıl Uyar

Newman temel olarak API testlerini sürekli entegrasyona dahil etmek için mevcuttur. Bu kalıp, sağlayıcılar arasında tutarlıdır. Dışa aktarılan koleksiyon ve ortam dosyalarını deponuza işler, Newman'ı işlem hattına yüklersiniz, çalıştırırsınız ve çıkış kodunun derlemeyi engellemesine izin verirsiniz.

İşte numaralandırılmış adımlar halinde iş akışı:

  1. Postman'den dışa aktarın. Postman'de koleksiyonunuzu ve ortamını JSON dosyaları olarak dışa aktarın.
  2. Onları depoya işleyin. Kodunuzla birlikte saklayın, böylece API ile birlikte sürümlensinler.
  3. Newman'ı işlem hattına yükleyin. CI işine npm install -g newman komutunu ekleyin veya postman/newman Docker görüntüsünü kullanın.
  4. Koleksiyonu çalıştırın. Koleksiyon ve ortam dosyalarıyla newman run komutunu çağırın.
  5. Çıkış kodunu geçiş olarak kullanın. Herhangi bir test başarısız olursa, Newman sıfırdan farklı bir değerle çıkar ve CI sağlayıcısı derlemeyi başarısız olarak işaretler.

Bir GitHub Actions adımı şöyle görünür:

- name: API testlerini çalıştır
  run: |
    npm install -g newman
    newman run orders-api.postman_collection.json \
      --environment staging.postman_environment.json \
      --reporters cli,junit \
      --reporter-junit-export results.xml

--reporters bayrağını bilmekte fayda var. Newman, CLI ve JUnit XML için yerleşik raporlayıcılarla birlikte gelir ve topluluk raporlayıcıları HTML çıktısı ve daha fazlasını ekler. Özellikle JUnit XML, CI panolarının test sonuçlarını yerel olarak görüntülemesine olanak tanır. Ayrıntılı bir inceleme için, CI/CD'de API testlerini otomatikleştirme ve GitHub Actions ile API test otomasyonu rehberlerimize bakın.

Faydalı Newman Komut Satırı Seçenekleri

Newman, otomatik çalıştırmaların zorluklarını ele alan bir dizi bayrağa sahiptir. Bunlardan birkaçını bilmek, kırılgan bir iş ile güvenilir bir iş arasındaki farkı yaratır.

--iteration-data bayrağı, Newman'ı bir CSV veya JSON dosyasına yönlendirir ve tüm koleksiyonu her satır için bir kez çalıştırarak satırın değerlerini değişken olarak ikame eder. Newman çalıştırmasını bu şekilde veri odaklı hale getirirsiniz: bir koleksiyon, birçok girdi. --iteration-count bayrağı, koleksiyonu belirli bir sayıda tekrarlar.

--bail bayrağı, Newman'a koleksiyonun geri kalanını çalıştırmak yerine ilk hatada durmasını söyler. Hızlı geri bildirimli bir işlem hattında genellikle istediğiniz budur, çünkü tek bir bozuk istek genellikle derlemenin zaten başarısız olacağı anlamına gelir. --timeout-request bayrağı, herhangi bir tek isteğin ne kadar sürebileceğini sınırlar, bu da işi yanıt vermeyen bir hizmette takılıp kalmaktan korur.

--delay-request bayrağı, istekler arasına bir duraklama ekler, bu da bir API'nin hız sınırları uyguladığı durumlarda kullanışlıdır. Ve --folder bir koleksiyon içinde yalnızca belirtilen bir klasörü çalıştırmanıza olanak tanır, böylece bir duman testi işi küçük bir alt kümeyi çalıştırabilirken, tam regresyon işi her şeyi çalıştırır. Bu seçeneklerin hiçbiri Postman GUI'sinin Koleksiyon Çalıştırıcısı'nda aynı betiklenebilir biçimde mevcut değildir ve birlikte, Newman'ın katılımsız yürütme için pratik bir seçim olmasının nedenidir.

Postman'den Newman'a Geçerken Yapılan Yaygın Hatalar

Ekipler bir koleksiyonu ilk kez GUI'den Newman'a taşıdıklarında birkaç sorun tekrar tekrar ortaya çıkar. En yaygın olanı sabit kodlanmış değerlerdir. Postman'de aktif ortamda bir değişkenin ayarlı olması nedeniyle çalışan bir istek, o ortam dosyası --environment ile geçirilmezse Newman'da başarısız olacaktır. Ortamı her zaman açıkça dışa aktarın ve sağlayın.

İkincisi, Postman bulutuna güvenmektir. Bulutla senkronize edilmiş değişkenleri referans alan veya oturum açmış bir Postman oturumuna bağlı özellikleri kullanan koleksiyonlar, düz bir JSON dosyasından çalıştırıldığında aynı şekilde davranmayabilir. CI'da güvenmeden önce dışa aktarılan dosyayı Newman ile yerel olarak test edin.

Üçüncüsü, dışa aktarılan dosyaların güncelliğini yitirdiğini unutmaktır. Deponuzdaki koleksiyon JSON'u bir anlık görüntüdür. Birisi koleksiyonu Postman'de düzenler ve yeniden dışa aktarmazsa, işlem hattı eski sürümü çalıştırmaya devam eder. Ekipler bunu disiplinle, dışa aktarmayı kasıtlı bir taahhüt olarak ele alarak veya test tanımı ile çalıştırıcının aynı olduğu bir araca geçerek çözer.

Her Birini Ne Zaman Kullanmalı

Bir insan işi yaparken Postman'i kullanın. Yeni bir API tasarlamak, başarısız bir çağrıda hata ayıklamak, üçüncü taraf bir hizmeti keşfetmek, bir test paketi oluşturmak ve iyileştirmek: bunların hepsi interaktiftir ve GUI'de yer almalıdır.

Hiçbir insan yokken Newman'ı kullanın. Her çekme isteğinde, gece programında veya dağıtım sonrası bir duman testi olarak paketi çalıştırmak: bunların hepsi bir betikten çalışan ve bir çıkış kodu aracılığıyla raporlama yapan bir araca ihtiyaç duyar.

Pratikte sınır "yazma ve çalıştırma"dır. Birini diğerine tercih etmeyeceksiniz. Postman'i oluşturmak ve Newman'ı otomatikleştirmek için kullanacaksınız ve koleksiyon dosyası işinizi aralarında taşıyacaktır. Ayrı bir çalıştırıcıyı hiç sürdürmek istemiyorsanız, Newman olmadan CI'da Postman koleksiyonlarını çalıştırma kılavuzumuz diğer seçenekleri ele almaktadır.

Birleşik Bir Alternatif: Apidog

Bir Postman-artı-Newman kurulumunu sürdürmek; koleksiyonları dışa aktarmak, JSON dosyalarını senkronize tutmak ve ayrı bir çalıştırıcıyı yönetmek anlamına gelir. Apidog bunu tek bir platformda birleştirir. Aynı uygulamada API'ler tasarlar, isteklerde hata ayıklarsınız ve görsel onaylamalarla otomatik test senaryoları oluşturur, ardından bu senaryoları yerleşik komut satırı çalıştırıcısı ile CI/CD'de çalıştırırsınız. Dışa aktarma ve senkronizasyon adımı yoktur çünkü test tanımları ve yürütme motoru birlikte yaşar.

Apidog ayrıca aynı çalışma alanında API tasarımı, sahte sunucular ve performans testini de kapsar, böylece yazdığınız işlevsel testler, işlem hattınızın çalıştırdığı testlerle aynı olur. Apidog'u indirebilir ve test özelliklerini ücretsiz kullanabilirsiniz. Bu alandaki araçların karşılaştırması için, API testi için en iyi Postman alternatifleri listemize bakın.

Sıkça Sorulan Sorular

Newman, Postman'in bir yedeği midir?

Hayır. Newman koleksiyonları oluşturamaz veya düzenleyemez; sadece onları çalıştırır. Koleksiyonu oluşturmak ve test betiklerini yazmak için hala Postman'e veya başka bir araca ihtiyacınız var. Newman'ın işi, bitmiş bu işi başsız bir şekilde yürütmektir. Birbirlerini tamamlarlar, birbirinin yerine geçmezler.

Newman Ücretli midir?

Hayır. Newman açık kaynaklıdır ve tamamen ücretsizdir. Bir npm paketi olarak dağıtılır. Postman'in ücretsiz bir katmanı ve daha büyük ekipler için ücretli planları vardır, ancak Newman'ın kendisi nasıl kullanırsanız kullanın ücretsizdir.

Postman testlerim Newman'da aynı şekilde davranacak mı?

Evet. Newman, Postman ile aynı yürütme motorunu kullanır, bu nedenle pm.test onaylamaları ve istek mantığı aynı şekilde çalışır. Postman Koleksiyon Çalıştırıcısı'nda geçen bir koleksiyon, Newman'da aynı sonuçları verecektir, bu da onu CI için güvenli kılar.

Newman test hatalarını nasıl bildirir?

Newman, herhangi bir test başarısız olduğunda terminale bir özet yazdırır ve sıfırdan farklı bir durum koduyla çıkar. Bu çıkış kodu, CI sistemlerinin hatayı nasıl algıladığıdır. Newman ayrıca JUnit XML ve HTML dahil olmak üzere raporlayıcıları destekler, böylece sonuçlar panolara ve derleme raporlarına beslenebilir.

Node.js kurmadan Newman'ı çalıştırabilir miyim?

Newman bir npm paketidir, bu nedenle doğrudan kurulum Node.js gerektirir. Bundan kaçınmak için, her şeyi içeren resmi postman/newman Docker görüntüsünü kullanın. Docker yaklaşımı, derleme işinde bir Node.js çalışma zamanını yönetmek istemediğiniz CI ortamlarında yaygındır.

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin