Postman Koleksiyonlarını Newman Olmadan CI'da Çalıştırma

Ashley Innocent

Ashley Innocent

20 April 2026

Postman Koleksiyonlarını Newman Olmadan CI'da Çalıştırma

Kurumsal Apidog

Şirket İçi Dağıtım

SSO & RBAC

SOC 2 Uyumlu

Apidog Enterprise'ı Keşfet

Kısaca

Postman'ın resmi CLI çalıştırıcısı olan Newman, CI pipeline'ınızda npm ve Node.js gerektirir. Bu durum tedarik zinciri riski yaratır, bağımlılık yönetimi yükü ekler ve Postman'ın ücretsiz katmanında, API aracılığıyla koleksiyon çalıştırmaları artık hız sınırlıdır. Bu kılavuz, Newman olmadan CI'da API testlerini çalıştırmak için üç alternatifi kapsar: Apidog'un CLI çalıştırıcısı, k6 ve Hurl. Mevcut Postman koleksiyonlarınız varsa, Apidog en doğrudan yoldur çünkü bunları yerel olarak içe aktarır ve çalıştırma başına bir sınırı yoktur.

💡
Apidog ücretsiz, hepsi bir arada bir API geliştirme platformudur. CLI çalıştırıcısı, npm bağımlılığı ve çalıştırma sayısı sınırı olmadan Postman uyumlu koleksiyonları CI'da çalıştırır. Apidog'u ücretsiz deneyin, kredi kartı gerekmez.
düğme

Giriş

Newman iyi bir fikirdi. Postman koleksiyonlarını CI pipeline'larında çalıştıran bir CLI aracı, API testini taşınabilir ve otomatikleştirilebilir hale getirdi. Postman'ın marka güveniyle birlikte geldi, popüler bir topluluk eylemi aracılığıyla GitHub Actions ile entegre oldu ve birçok ekibin tüm API test otomasyon stratejilerini üzerine kurduğu kadar iyi çalıştı.

Sonra üç sorun ortaya çıktı.

İlk olarak, Newman bir npm paketidir. Onu kullanan her pipeline, derleme sırasında npm deposundan çekim yapar. 2021'deki ua-parser-js uzlaşması ve 2022'deki node-ipc olayı, npm tedarik zinciri saldırılarının teorik olmadığını gösterdi. Güvenlik ekipleri, API test katmanının neden npm'e ihtiyaç duyduğunu sormaya başladı.

İkinci olarak, Postman ücretsiz ve temel ücretli katmanlarda koleksiyon çalıştırmalarını sınırlamaya başladı. CI'ın bir parçası olarak Postman API aracılığıyla koleksiyon çalıştırmaya güvenen ekipler kotalara ulaştı ve ya planlarını yükseltmek ya da pipeline'larını yeniden tasarlamak zorunda kaldı.

Üçüncü olarak, Newman'ın bakım hızı yavaşladı. Sorunlar aylarca GitHub'da açık kalıyor. Bazı yeni Postman betik API'lerinin Newman'da tutarsız desteği var.

Sonuç: CI pipeline'larını Newman üzerine kuran geliştiriciler artık alternatifler arıyor. İşte mevcut olanlar.

Seçenek 1: Apidog CLI (Postman koleksiyon kullanıcıları için önerilir)

Halihazırda Postman koleksiyonlarına yatırım yaptıysanız, Apidog'un CLI çalıştırıcısı Newman için en yakın işlevsel ikamedir.

Neleri destekler?

npm gerekmez. Apidog CLI bağımsız bir ikili olarak dağıtılır. Bir kez indirir, PATH'inize eklersiniz ve çalışır.

Çalıştırma başına limit yok. Apidog, hiçbir planda koleksiyon çalıştırma sayısını sınırlamaz. Günde 500 koleksiyon çalıştıran bir pipeline, 5 koleksiyon çalıştıran bir pipeline ile aynı şekilde çalışır.

Kurulum

Platformunuz için CLI ikilisini apidog.com/cli adresinden indirin veya kabuk yükleyiciyi kullanın:

# macOS / Linux
curl -sSf https://apidog.com/cli/install.sh | sh

# Doğrulama
apidog --version

Docker tabanlı CI çalıştırıcıları için Apidog resmi bir görüntü sağlar:

FROM apidog/cli:latest

Bir Postman koleksiyonunu çalıştırma

Koleksiyonunuzu Postman'dan (Dosya > Dışa Aktar > Koleksiyon v2.1) ve ortamınızı (Ortamları Yönet > Dışa Aktar) dışa aktarın.

Sonra şunu çalıştırın:

apidog run collection.json \
  --environment environment.json \
  --reporter-junit results.xml

GitHub Actions örneği

name: API Testleri

on: [push, pull_request]

jobs:
  api-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Apidog CLI Kurulumu
        run: curl -sSf https://apidog.com/cli/install.sh | sh

      - name: API testlerini çalıştır
        run: |
          apidog run ./tests/collection.json \
            --environment ./tests/env.json \
            --reporter-junit test-results.xml

      - name: Test sonuçlarını yükle
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: api-test-results
          path: test-results.xml

npm install yok, package.json yok, Node.js sürüm matrisi yok. İş daha hızlı çalışır ve bağımlılık yüzeyi daha küçüktür.

GitLab CI örneği

api-tests:
  image: apidog/cli:latest
  script:
    - apidog run ./tests/collection.json
        --environment ./tests/env.json
        --reporter-junit test-results.xml
  artifacts:
    reports:
      junit: test-results.xml

Seçenek 2: k6

k6, Grafana Labs'tan gelen ve aynı zamanda işlevsel API testini de yapan bir yük testi aracıdır. Bilmeye değer çünkü işlevsel kontrollerle birlikte performans testi için gerçekten mükemmeldir.

Neleri destekler?

Neleri desteklemez?

Ne zaman k6'yı seçmeli?

Aynı pipeline'da işlevsel testi performans testiyle birleştirmeniz gerekiyorsa – örneğin, yük altında API doğruluğunu doğrulamak için – k6 geçiş maliyetine değer. Sadece işlevsel testler için Newman'ı değiştirmek istiyorsanız, Apidog kurulumu daha hızlıdır.

CI'da temel k6 kullanımı

# Kurulum (Linux)
sudo apt-get install k6

# Bir test betiği çalıştırın
k6 run api-tests.js

k6 CI, betiğinizdeki eşik tanımlarına göre geçiş/başarısızlık çıktısı verir. JUnit XML çıktısı k6-reporter paketi aracılığıyla mevcuttur.

Seçenek 3: Hurl

Hurl, Rust ile yazılmış açık kaynaklı bir HTTP test aracıdır. Hızlıdır, sıfır çalışma zamanı bağımlılığına sahiptir ve istekleri ve iddiaları tanımlamak için düz metin bir DSL kullanır.

Neleri destekler?

Neleri desteklemez?

Ne zaman Hurl'u seçmeli?

Testlerinizi Hurl'un DSL'sinde yeniden yazmaya istekliyseniz, çalışma zamanı olmayan oldukça küçük bir ikili elde edersiniz. İkili tek bir 10 MB'lık dosyadır. Hurl, Postman koleksiyon borcu taşımadığınız yeni projeler için güçlü bir seçenektir.

Temel Hurl test örneği

GET https://api.example.com/users/1
HTTP 200
[Asserts]
jsonpath "$.id" == 1
jsonpath "$.email" isString

GitHub Actions'da Hurl

- name: Hurl Kurulumu
  run: |
    curl -LO https://github.com/Orange-OpenSource/hurl/releases/latest/download/hurl-x86_64-unknown-linux-gnu.tar.gz
    tar -xf hurl-*.tar.gz
    sudo mv hurl /usr/local/bin/

- name: API testlerini çalıştır
  run: hurl --test tests/*.hurl

Üç seçeneği karşılaştırma

Özellik Apidog CLI k6 Hurl
Postman içe aktarma Yerel Dönüştürücü (kayıplı) Hayır
npm bağımlılığı Hayır Hayır Hayır
JavaScript betikleme Evet (pm.* API) Evet (ES6) Hayır (yalnızca DSL)
Performans testi Hayır Evet Hayır
İkili boyutu ~50 MB ~30 MB ~10 MB
Ücretsiz çalıştırma sınırları Yok Yok Yok
JUnit çıktısı Evet Eklenti aracılığıyla Evet

Newman'dan geçiş: pratik adımlar

Mevcut Newman tabanlı bir pipeline'ınız varsa, Apidog CLI'a geçiş yolu şöyledir:

Koleksiyonlarınızı dışa aktarın. Postman'da her bir koleksiyona sağ tıklayın ve v2.1 olarak dışa aktarın. Ortamlarınızı ayrı ayrı dışa aktarın.

Apidog CLI'ı yükleyin. CI yapılandırmanıza kurulum adımını ekleyin.

Newman komutunu değiştirin. Tipik bir Newman komutu şuna benzer:

newman run collection.json -e environment.json --reporters junit --reporter-junit-export results.xml

Apidog'daki karşılığı:

apidog run collection.json --environment environment.json --reporter-junit results.xml

Bayrak yapısı tasarım gereği benzerdir.

Betik uyumluluğunu kontrol edin. CI değişikliğini taahhüt etmeden önce koleksiyonunuzu Apidog CLI ile yerel olarak çalıştırın. Çoğu pm.* betiği değişiklik yapmadan çalışır. Harici modülleri yüklemek için pm.require kullanan betikler ayarlama gerektirebilir.

CI yapılandırmanızdan Node.js'i kaldırın. Newman, Node.js'in pipeline'ınızda görünmesinin tek nedeni ise, Node.js kurulum adımını ve npm install adımını tamamen kaldırabilirsiniz.

Sıkça Sorulan Sorular

Newman resmi olarak kullanımdan kaldırıldı mı?Hayır, 2026 başı itibarıyla Newman hala Postman tarafından bakımı yapılmaktadır. Ancak bakım hızı yavaştır ve birkaç açık sorun gerçek dünya kullanım durumlarını etkilemektedir. Yakın zamanda ortadan kalkmayacak, ancak üzerine yeni pipeline'lar kurmak artan risk taşır.

Apidog CLI bir Apidog hesabı gerektiriyor mu?Yerel olarak dışa aktarılan koleksiyonları çalıştırmak için hayır. Bir Apidog çalışma alanından koleksiyonları senkronize etmek için evet. Postman'dan geçiş yapıyorsanız, tamamen dışa aktarılan JSON dosyalarından çalıştırabilirsiniz.

Apidog CLI veri odaklı testleri çalıştırabilir mi?Evet. --iteration-data bayrağıyla bir CSV veya JSON veri dosyası geçirin. Bu, Newman'ın veri odaklı yineleme için -d bayrağına eşdeğerdir.

npm tabanlı çalıştırıcılarla tedarik zinciri riski nedir?CI sırasında npm'den çekilen herhangi bir paket potansiyel bir saldırı yüzeyidir. Güvenliği ihlal edilmiş paketler ortam değişkenlerini sızdırabilir; bu, bir CI bağlamında API anahtarlarını ve belirteçlerini içerir. HTTPS üzerinden indirilen ve bir sağlama toplamına sabitlenmiş bir ikili çalıştırıcı bu tür bir riski önler.

k6 gRPC testini destekliyor mu?Evet. k6, yerel gRPC desteğine sahiptir, bu da onu aynı test paketinde hem REST hem de gRPC'yi işleyen birkaç açık kaynaklı araçtan biri yapar. API yüzeyiniz gRPC uç noktalarını içeriyorsa, k6 değerlendirmeye değerdir.

Hurl kimlik doğrulama başlıklarını destekliyor mu?Evet. Hurl, Authorization, Bearer ve çerez tabanlı kimlik doğrulama dahil olmak üzere özel başlıkları destekler. Değişkenler, çalışma zamanında ortam değişkenlerinden sırları enjekte etmenize olanak tanır.

Newman'ın API testleri için varsayılan CI seçimi olma dönemi sona eriyor. Tedarik zinciri riskleri gerçek, ücretsiz katman sınırlamaları birçok ekip için dengeyi değiştirdi ve artık daha iyi alternatifler mevcut. Newman'sız bir pipeline'a geçiş kolaydır, özellikle mevcut Postman koleksiyonlarınızla Apidog CLI'a geçiyorsanız.

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

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