Her gün API'ler oluşturuyoruz ve otomasyon, test etme ve düzenleme ihtiyacı çok önemli. Kullanıcı dostu arayüzüyle tanınan bir araç olan Postman, daha derin otomasyon ve CI/CD iş akışlarını desteklemek için Komut Satırı Arayüzünü (CLI) tanıttı.
Postman CLI sadece testleri tetiklemek için bir araç değil; API etkileşimlerini betiklemek, mevcut boru hatlarıyla entegre olmak ve birden fazla ortamda API'lerin bütünlüğünü sağlamanıza olanak tanıyan kapsamlı bir yardımcı programdır. Bu makale, API geliştirme ve test etme uygulamalarınızı nasıl yükseltebileceğini göstererek Postman CLI'nın gelişmiş yeteneklerini inceliyor.
Postman’ın CLI'sının Evrimi
Teknik detaylara girmeden önce, Postman'in CLI'sını neden tanıttığını anlamak önemlidir. Postman'in grafik arayüzü, etkileşimli kullanım için mükemmeldir; API'leri keşfetmek, test etmek ve hata ayıklamak için idealdir.
Ancak, modern bir DevOps ortamında otomasyon çok önemlidir. Sürekli Entegrasyon/Sürekli Dağıtım (CI/CD) boru hatları, API'lerin otomatik test edilmesini ve doğrulanmasını gerektirir ve Postman'in CLI'sı da burada devreye girer. Manuel API testi ile tamamen otomatik, entegre API iş akışları arasındaki boşluğu doldurur. Bu yardımcı program, ekiplerin koleksiyonları, testleri ve entegrasyonları doğrudan bir terminalden çalıştırmasını sağlayarak, otomatik bir ortamda verimli ve tekrarlanabilir süreçler için potansiyeli ortaya çıkarır.
Postman CLI Nasıl Kurulur ve Ayarlanır?
Postman CLI, tek başına bir araç değildir; genellikle çalışma alanınıza, koleksiyonlarınıza ve ortamlarınıza erişimi doğrulamak için bir Postman API anahtarı ile yapılandırılmış bir ortam gerektirir. Bu, özellikle CI/CD platformlarıyla entegre olurken, betiklerin ortamlarda güvenli ve sorunsuz bir şekilde yürütülmesi için kritik öneme sahiptir.
Kurulum için CLI'yı yüklememiz gerekecek. Postman belgeleri, yardımcı olabilecek iyi bir dokümantasyon kılavuzuna sahiptir.
Windows kurulumu
Postman CLI'yı Windows için yüklemek için aşağıdaki komutları çalıştırın. Bu, bir yükleme betiği indirecek ve çalıştıracaktır. Yükleme betiği, henüz yoksa bir %USERPROFILE%\AppData\Local\Microsoft\WindowsApps dizini oluşturur, ardından oraya bir postman ikili dosyası yükler.
powershell.exe -NoProfile -InputFormat None -ExecutionPolicy AllSigned -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://dl-cli.pstmn.io/install/win64.ps1'))"
Mac (Apple silicon) kurulumu
Apple silicon işlemcili Mac'ler için Postman CLI'yı yüklemek için aşağıdaki komutu çalıştırın. Bu, bir yükleme betiği indirecek ve çalıştıracaktır. Yükleme betiği, henüz yoksa bir /usr/local/bin dizini oluşturur, ardından oraya bir postman ikili dosyası yükler.
curl -o- "https://dl-cli.pstmn.io/install/osx_arm64.sh" | sh
Mac (Intel) kurulumu
Intel çipli Mac'ler için Postman CLI'yı yüklemek için aşağıdaki komutu çalıştırın. Bu, bir yükleme betiği indirecek ve çalıştıracaktır. Yükleme betiği, henüz yoksa bir /usr/local/bin dizini oluşturur, ardından oraya bir postman ikili dosyası yükler.
curl -o- "https://dl-cli.pstmn.io/install/osx_64.sh" | sh
Linux kurulumu
En son Linux sürümü için Postman CLI'yı yüklemek için aşağıdaki komutu çalıştırın. Bu, bir yükleme betiği indirecek ve çalıştıracaktır. Yükleme betiği, henüz yoksa bir /usr/local/bin dizini oluşturur, ardından oraya bir postman ikili dosyası yükler.
curl -o- "https://dl-cli.pstmn.io/install/linux64.sh" | sh
Yüklendikten sonra, Postman'in arka ucu tarafından güvenli bir şekilde yönetilen Postman API anahtarınızı kullanarak kimlik doğrulama yapın:
postman login --with-api-key ABCD-1234-1234-1234-1234-1234
Bu API anahtarı yönetimi, CLI yürütmelerinin Postman web veya masaüstü arayüzündeki herhangi bir oturumla aynı erişim ve güvenlik düzeyine sahip olmasını sağlar.
Koleksiyonları ve Ortamları Çalıştırma
Postman CLI, Postman testinin kalbi olan koleksiyonların yürütülmesine izin verir. Postman'deki koleksiyonlar, test edilmesi gereken API çağrılarının iş akışlarını veya dizilerini temsil eder. Genellikle, dağıtım aşamalarında (örneğin, geliştirme, hazırlama, üretim) değişen temel URL'ler, kimlik doğrulama belirteçleri veya diğer yapılandırma ayrıntıları gibi değişkenleri depolayan ortamlara bağlıdırlar.
Daha gelişmiş özelliklerden biri, bir koleksiyonu belirli bir ortamla çalıştırma yeteneğidir. Bu, koleksiyonun kendisini değiştirmeden birden fazla ortamda karmaşık API akışlarının test edilmesini sağlar:
postman run <collection.json> --environment <environment.json>
Bu basit ama güçlü komut, birden fazla test paketinin farklı konfigürasyonlarda çalışmasına izin vererek, CLI'yı CI/CD boru hatlarında API testlerini düzenlemek için paha biçilmez hale getirir.
Gelişmiş Yapılandırma: Genel ve Ortam Değişkenleri
Postman CLI'nın değişkenleri işleme şekli, bir diğer gelişmiş özelliktir. Dinamik ortamların tanıtımıyla, genel, ortam ve yerel değişkenleri anında geçersiz kılabilir ve yönetebilirsiniz. Bu yetenek, birden fazla API parametresinin testin farklı aşamalarında dinamik olarak değişmesi gereken gelişmiş iş akışları için gereklidir.
API'nizin dinamik kimlik doğrulama belirteçleri gerektirdiği bir senaryo düşünün. Belirteçleri kodlamak yerine, bunları Postman CLI kullanarak dinamik olarak ekleyebilirsiniz:
postman run <collection.json> --env-var token=<new_token>
Daha karmaşık senaryolarda, bu değerleri harici dosyalardan yüklemek, Postman'in koleksiyon ön istek betikleri aracılığıyla yönetmek veya hatta bunları CI platformunuzdan çalışma zamanında ortam değişkenleri olarak geçirmek isteyebilirsiniz. Bu esneklik, Postman CLI'yı gelişmiş API kimlik doğrulama akışlarını yönetmek için son derece güçlü hale getirir.
Test Yürütme ve Özel Raporlama
Postman CLI, JavaScript ile yazılmış, otomatik testlerle gömülü Postman koleksiyonlarının yürütülmesini destekler. Bu testler, API yanıtlarının bütünlüğünü kontrol edebilir, şemayı doğrulayabilir veya yanıt sürelerini önceden tanımlanmış eşiklerle karşılaştırabilir.
Koleksiyonları çalıştırırken, CLI ayrıntılı günlük kaydı ve raporlama sağlar. Varsayılan olarak, çıktı hangi testlerin geçtiğini veya başarısız olduğunu gösteren yapılandırılmış bir biçimde oluşturulur. Ancak, Postman CLI temel günlük kaydının ötesine geçer. Gelişmiş kullanıcılar, Jenkins veya GitLab gibi CI platformlarıyla entegrasyon için kritik öneme sahip olan JSON, HTML ve JUnit XML dahil olmak üzere birden fazla biçimde özel raporlar oluşturabilirler:
postman run <collection.json> --reporters cli,json --reporter-json-export output.json
Bu komut yalnızca koleksiyonu yürütmekle kalmayacak, aynı zamanda sonuçları hem CLI hem de JSON formatlarında çıkaracak ve gösterge panosu araçlarıyla daha fazla işlem veya entegrasyon sağlayacaktır.
Derinlemesine İnceleme: Newman ve Postman CLI ile Çalışmak
Postman CLI'nın tanıtımından önce, Newman, Postman koleksiyonlarını komut satırından çalıştırmak için kullanılan araçtı. Newman, özellikle belirli eski iş akışları için hala alakalı olsa da, Postman CLI çeşitli geliştirmeler getiriyor. Daha sorunsuz kimlik doğrulama ve ortam yönetimi sunarak doğrudan Postman'in bulut platformuyla entegre olur.
Örneğin, Postman CLI, koleksiyonları ve ortamları yerel olarak indirme ve yönetme ihtiyacını ortadan kaldırarak, paylaşılan çalışma alanlarına doğrudan Postman'in bulutundan erişebilir. Ayrıca, Postman'in çalışma alanı yapılandırmaları aracılığıyla yerel olarak gelişmiş kimlik doğrulama mekanizmalarını (OAuth2, taşıyıcı belirteçleri vb.) destekleyerek, bulut entegre iş akışları için daha sağlam bir çözüm haline getirir.
İşte Newman ve Postman CLI kullanılarak yapılan basit bir koleksiyon çalıştırmasının karşılaştırması:
Newman:
newman run <collection.json> --environment <environment.json>
Postman CLI:
postman run <collection>
Buradaki temel fark, Postman CLI'nın koleksiyonlara ve ortamlara doğrudan Postman çalışma alanından bulutta referans verme yeteneğidir ve bu da onu yüksek güvenlikli veya hızla değişen konfigürasyonlara sahip ortamlar için çok daha esnek hale getirir.
Postman CLI'yı CI/CD Boru Hatlarına Entegre Etme
Postman CLI kullanmanın temel nedenlerinden biri, CI/CD boru hatlarıyla entegrasyonudur. Bir boru hattında, geliştirme döngüsünün başlarında sorunları tespit etmek için otomatik API testi çok önemlidir. Jenkins, CircleCI, GitLab CI ve GitHub Actions gibi araçların tümü, boru hattının çeşitli aşamalarında API testlerini yürütmek için Postman CLI komutlarını çağırabilir.
Postman CLI'yı bir Jenkins boru hattına entegre etmek için aşağıdaki örneği göz önünde bulundurun:
pipeline {
agent any
stages {
stage('Run Postman Tests') {
steps {
script {
sh 'postman run <collection> --reporters cli,junit --reporter-junit-export results.xml'
}
}
}
}
post {
always {
junit 'results.xml'
}
}
}
Bu Jenkinsfile, Postman koleksiyonunu çalıştırır ve test sonuçlarını, daha sonra test sonuçlarına göre raporlar oluşturan Jenkins'in JUnit eklentisiyle uyumlu bir biçimde yakalar.
Postman CLI ayrıca, boru hatları içindeki test yürütme üzerinde daha ayrıntılı kontrol sağlar. Örneğin, test paketlerinin belirli yinelemelerini tanımlayabilir, zaman aşımlarını kontrol edebilir ve bir test başarısız olursa yeniden deneme mekanizmalarını yapılandırabilirsiniz ve bu da son derece özelleştirilebilir bir test ortamı sağlar.
Hataları ve Hata Ayıklamayı İşleme
API testleri, yanıt biçimi farklılıklarından ortam yanlış yapılandırmalarına kadar birçok nedenden dolayı başarısız olabilir. Postman CLI, bu tür sorunların giderilmesi için gerekli olan ayrıntılı günlük kaydını destekler. --verbose bayrağını kullanarak, geliştiriciler istek ve yanıt gövdeleri, başlıklar ve yürütme zamanlamaları dahil olmak üzere derin bir bilgi katmanına erişebilirler.
postman run --verbose
CI/CD iş akışlarına entegre edildiğinde, bu ayrıntı düzeyi paha biçilmezdir. Ayrıntılı çıktı, geliştiricilerin sorunun API'nin kendisinde, test yapılandırmasında veya ortam kurulumunda olup olmadığını belirlemek için analiz edebilecekleri günlüklere yönlendirilebilir.
Apidog CLI'yı Keşfetmek: Otomatik Test İçin Üstün Bir Komut Satırı Deneyimi

Postman CLI, API iş akışlarını otomatikleştirmek için popüler olsa da, Apidog CLI , komut satırından API senaryosu yürütmeyi kolaylaştırmak için özel olarak oluşturulmuş, otomatik test için sağlam ve esnek bir yaklaşım sunan, cazip bir alternatiftir. Postman'e rakip olan Apidog, CI/CD ortamlarında karmaşık iş akışlarını test etmek için hızlı, otomatik bir çözüme ihtiyaç duyan geliştiriciler için tasarlanmış, sorunsuz, komut odaklı bir API test deneyimi sunar.
Neden Apidog CLI?
Apidog'un CLI'sı, özellikle kullanım kolaylığına, gelişmiş yapılandırma seçeneklerine ve güçlü entegrasyon yeteneklerine odaklanarak, API testini otomatikleştirmek için ihtiyacınız olan tüm yetenekleri sağlar. Apidog test senaryolarını terminalden çalıştırmak için tasarlanmıştır ve API testini doğrudan geliştirme ve dağıtım iş akışlarına yerleştirmek isteyen ekipler için mükemmel bir seçimdir. CLI, Apidog'un güçlü bulut özellikleriyle zahmetsizce entegre olur ve boru hattınızın birden fazla aşamasında API bütünlüğü hakkında hızlı geri bildirim sağlayarak, test senaryolarını herhangi bir ortamda çalıştırmak için optimize edilmiştir.
Apidog CLI'yı Kurma
Apidog CLI'yı kullanmaya başlamak için, ortamınızın Node.js sürüm 16 veya daha yüksek ile donatıldığından emin olun. Apidog CLI, npm aracılığıyla kolayca kurulabilir ve yalnızca birkaç komutta çalışmaya başlamanıza olanak tanır:
npm install -g apidog-cli
Yüklendikten sonra, kurulumunuzu doğrulamak basittir. Aşağıdaki komut, Node.js sürümünüzü, CLI sürümünüzü ve Node, npm ve Apidog'un yükleme yollarını kontrol eder:
node -v && apidog -v && which node && which npm && which apidog
Bu, sisteminizin Apidog CLI'yı kullanmak için doğru şekilde yapılandırıldığından emin olur ve herhangi bir kurulum sorununu gidermeye yardımcı olur.
Apidog CLI'da Test Senaryolarını Çalıştırma
Apidog CLI, test senaryolarını verimli bir şekilde çalıştırmak için tasarlanmıştır ve testleri nasıl kimlik doğrulayacağınız ve yürüteceğiniz konusunda size esneklik sağlar. Bir test senaryosunu, benzersiz kimliğiyle veya bir test senaryosu koleksiyonu içeren bir klasöre referans vererek belirtebilirsiniz. Bu özellik, birden fazla ortam ve konfigürasyonda büyük ölçekli API testlerinin yürütülmesini basitleştirir.
İşte bir Apidog erişim belirteci kullanarak bir test senaryosunu çalıştırmaya bir örnek:
apidog run --access-token <your-access-token> -t <test-scenario-id>
Bu komut, kimlik doğrulama kimlik bilgilerini erişim belirteci aracılığıyla güvenli bir şekilde geçirirken, test senaryosunu kimliğine göre yürütür. Belirli bir klasördeki tüm test senaryolarını çalıştırmanız gerekiyorsa, bunun yerine klasör kimliğini kullanabilirsiniz:
apidog run --access-token <your-access-token> -f <test-scenario-folder-id>
Ayrıntılı Özelleştirme İçin Gelişmiş CLI Seçenekleri
Apidog CLI'nın güçlü yönlerinden biri, gelişmiş komut satırı seçenekleridir. Test raporlarını, ortam değişkenlerini, SSL sertifikalarını yapılandırabilir ve hatta istekler arasında gecikmeler veya zaman aşımları uygulayabilirsiniz. Apidog, tek bir test senaryosu çalıştırıyor veya farklı ortamlarda bir dizi testi yinelemeli olarak yürütüyor olsanız da, test süreciniz üzerinde ince taneli kontrol sağlar.
İşte hem JSON hem de JUnit formatlarında özel bir rapor oluşturmaya ve belirli bir dizine kaydetmeye bir örnek:
apidog run <collection> --reporters json,junit --out-dir ./test-reports
Apidog CLI ile, test senaryolarınızın bağlam duyarlı olmasını ve temel betikleri değiştirmeden API konfigürasyonlarındaki değişikliklere uyum sağlayabilmesini sağlayarak, ortam değişkenlerini dinamik olarak da tanımlayabilirsiniz:
apidog run <collection> --env-var "BASE_URL=https://staging.api.com" --env-var "TOKEN=abc123"
Bu tür bir esneklik, Apidog'un mevcut test altyapınıza sorunsuz bir şekilde uymasını sağlar.
SSL Sertifikaları ve Güvenlik Testi
Günümüz dünyasında, API'leri test ederken SSL doğrulaması çok önemlidir. Apidog CLI, testler sırasında API'lerinize güvenli bağlantılar sağlayan istemci sertifikalarının geçirilmesini destekler. İster tek bir sertifika ister belirli etki alanlarına göre birden fazla sertifika kullanıyor olun, Apidog süreci basitleştirir. Testleriniz için tek bir istemci sertifikası belirleyebilirsiniz:
apidog run <collection> --ssl-client-cert ./path/to/cert.pem --ssl-client-key ./path/to/key.pem
Veya daha karmaşık kurulumlar için, belirli URL'lerle eşleştirilmiş bir istemci sertifikası listesi içeren bir JSON dosyası kullanabilirsiniz:
apidog run <collection> --ssl-client-cert-list ./path/to/ssl-cert-list.json
Neden Apidog'a Geçmelisiniz?
Apidog CLI, API test iş akışları üzerinde daha hızlı performans, daha kolay entegrasyon ve daha fazla kontrol arayan ekipler için geliştirilmiş bir deneyim sunar. Postman'in CLI'sına güçlü bir alternatif haline getirerek, güçlü komut satırı araçlarının esnekliğini sağlarken, Apidog'un özellik açısından zengin platformuyla entegre olur.
Zaten Postman'e aşinaysanız, Apidog CLI'ya geçiş sezgisel hissedecek, ancak Apidog'un sunduğu ek esnekliği ve gücü hemen fark edeceksiniz. Zengin özellik seti, kapsamlı raporlama ve dinamik ortam yönetimi ile birleştiğinde, Apidog'u verimli, ölçeklenebilir bir API test çözümü isteyen geliştiriciler için güçlü bir rakip haline getiriyor.
Sonuç
Sonuç olarak, Postman uzun zamandır API test alanında temel bir unsur olsa da, Apidog'un CLI'sı modern, otomatik iş akışları için uyarlanmış sağlam bir alternatif sunuyor. Gelişmiş komut seçenekleri, sorunsuz ortam yönetimi ve esnek raporlama yetenekleriyle Apidog CLI, ekiplerin API'leri geliştirme ve dağıtımın çeşitli aşamalarında verimli bir şekilde test etmesini ve doğrulamasını sağlar. CI/CD boru hatlarınıza kolayca entegre olan güçlü, esnek bir araç arıyorsanız, Apidog CLI'yı keşfetmeye değer. API'lerinizin güvenilir, güvenli ve performanslı kalmasını sağlayarak, API testine akıcı bir yaklaşım sunar.



