Başsız bir API test aracı, testlerinizi komut satırından, tıklanacak bir pencere olmaksızın çalıştırır, böylece aynı kontroller bir CI hattındaki her push işleminde tetiklenebilir. Daha önce bir GUI uygulamasında bir test kaydettiyseniz ve bunu bir derleme sunucusunda nasıl çalıştıracağınızı merak ettiyseniz, bu boşluğu tam olarak başsız araçlar kapatır. Bu kılavuz, bir aracı "başsız" yapan şeyleri açıklamakta, Apidog CLI'yı adım adım anlatmakta ve Newman ve Hurl gibi diğer güçlü rakipleri adil bir şekilde değerlendirmektedir.
API testlerinde "başsız" terimi ne anlama geliyor?
"Başsız" terimi, grafiksel bir arayüz olmadan işini yapan yazılımlar olan başsız tarayıcılardan ödünç alınmıştır. API testleri için, başsız bir araç birkaç ortak özelliğe sahiptir:
- Bir komut dosyasından veya bir CI adımı içinden çağırabileceğiniz bir CLI komutu olarak çalışır.
- Ekran gerektirmez, oturum açmış bir kullanıcıya ihtiyaç duymaz ve manuel tıklama gerektirmez.
- Test tanımlarını ekran üzerindeki durumdan değil, dosyalardan veya bir proje kimliğinden okur.
- Onaylar başarısız olduğunda sıfır olmayan bir kodla çıkar, böylece CI derlemeyi kırmızı işaretleyebilir.
- Makine tarafından okunabilir raporlar (JSON, JUnit XML) ve insan tarafından okunabilir raporlar (CLI metni, HTML) yayar.
Bu son nokta, göründüğünden daha önemlidir. Bir GUI, bir kişiye neyin geçtiğini söyler. Başsız bir araç ise bir hattına neyin geçtiğini söyler ve bu da birleştirmeleri kontrol etmenizi, hatalı dağıtımları engellemenizi ve kullanıcılar fark etmeden regresyonları yakalamanızı sağlar. Bunun modern teslimata neden uygun olduğuna dair daha geniş bağlam için, API testi için CI/CD en iyi uygulamaları hakkındaki notlarımıza bakın.
Ekipler neden testleri GUI'den uzaklaştırır?
Görsel bir istemci, bir uç noktayı keşfetmek, bir başlığı ayarlamak ve bir yanıtı izlemek için harikadır. Tekrarlama için ise kötü bir seçimdir. Bir ekip arkadaşınızdan her commit işleminden sonra kırk isteği manuel olarak yeniden çalıştırmasını isteyemezsiniz ve 2 a.m. dağıtımının yoluna bir insan koyamazsınız.
Başsız çalıştırıcılar tekrarlama sorununu çözer. Bir test senaryosu bir dosyada veya paylaşılan bir projede yer aldığında, aynı komut onu dizüstü bilgisayarınızda, bir meslektaşınızın makinesinde ve derleme sunucusunda aynı sonuçlarla çalıştırır. Bunu veri odaklı girdilerle birleştirdiğinizde, tek bir tanımdan düzinelerce durumu kapsarsınız. API'nız müşterilerin gerçekten güvendiği şey olduğunda, bu tutarlılık esas noktadır; bu, API'nızı bir ürün olarak ele almanın bir parçasıdır.
Apidog CLI: API projenizle desteklenen başsız bir çalıştırıcı
Apidog CLI, Apidog'un GUI'siz tarafıdır. Uygulamada test senaryolarını tasarlar, hata ayıklar ve düzenlersiniz, ardından bunları terminalden apidog run komutuyla çalıştırırsınız. Komut, test senaryolarını, klasörleri, test paketlerini veya yerel olarak dışa aktarılmış bir dosyayı yürütür, bir rapor yazdırır ve CI hattınızın üzerinde işlem yapabileceği bir çıkış kodu döndürür.

Aşağıdaki birkaç özellik, bu Apidog iş akışını CI için pratik hale getirir.
Veri odaklı çalıştırmalar. Çalıştırmayı bir CSV veya JSON dosyasına işaretleyin ve Apidog senaryonuzu satır başına bir kez yineler. Bayrak -d, --iteration-data <path> olup, yineleme sayısını sınırlamak için -n, --iteration-count kullanılır. Bir senaryo, birçok durum. Tüm mekanikler Apidog CLI ile veri odaklı API testi kılavuzumuzda yer almaktadır.
İnsanlar ve makineler için raporlayıcılar. -r, --reporters bayrağı çıktı formatlarını seçer ve örneğin -r html,junit gibi birkaçını aynı anda geçirebilirsiniz. CLI metni varsayılan olup, JSON özel işlem sonrası için kullanışlıdır ve JUnit XML çoğu CI sisteminin test panellerine doğrudan düşer.
Ortam kontrolü. Bir çalışma zamanı ortamı seçmek için -e kullanın ve çalışma zamanında key=value olarak değerleri eklemek için --env-var veya --global-var kullanın, bu da sırlarınızı taahhüt edilmiş dosyalarınızdan uzak tutar.
Minimal bir CI adımı şöyle görünür:
npm install -g apidog-cli
apidog run https://api.apidog.com/... \
-e <ortam-kimliği> \
-d ./veri/kullanicilar.csv \
-r cli,html,junit
Varsayılan olarak HTML ve JUnit raporları, komutu çalıştırdığınız dizinin yanındaki bir apidog-reports/ dizinine iner, böylece CI bunları derleme yapıtları olarak toplayabilir.
Sıfırdan adım adım bir derleme için, Apidog CLI tam kılavuzu kurulumdan ilk başarılı çalışmaya kadar her şeyi kapsar ve REST API komut satırı eğitimi aynı şeyi somut bir uç nokta ile yapar. Seçenek bazında detaylar apidog run komut referansımızda yer almaktadır.
Bilmeye değer, daha az belirgin ikinci bir başsız yetenek var. Apidog MCP sunucusu, bir yapay zeka aracısının veya yapay zeka destekli IDE'nin (Cursor veya Cline aracılığıyla VS Code), API spesifikasyonlarınızı doğrudan okumasına olanak tanır, böylece asistan, tahmin etmek yerine gerçek sözleşmenize dayalı kod ve testler üretir. Bu farklı bir "GUI yok" türüdür: spesifikasyon aracı yönlendirir. İş akışını Apidog MCP istemcisi ile görsel hata ayıklama bölümünde ele alıyoruz.
Bilmeye değer diğer başsız çalıştırıcılar
Apidog tek başsız seçenek değil ve dürüst cevap, doğru seçimin testlerinizin nerede yaşadığına bağlı olduğudur.
Newman, Postman'ın komut satırı koleksiyon çalıştırıcısıdır. Ekibiniz Postman koleksiyonlarına yatırım yaptıysa, Newman bunları GUI olmadan CI'da çalıştırır. Dahili raporlayıcılarla (cli, json, junit, progress, emojitrain) birlikte gelir ve bir HTML raporlayıcı ayrı bir npm paketi olarak mevcuttur. Raporlayıcılar, tıpkı Apidog gibi -r ile ayarlanır. Olgun, geniş çapta belgelenmiş ve Postman koleksiyonları doğruluk kaynağınız olduğunda doğal bir seçimdir.

Hurl farklı bir şekil alır. İstekleri düz metin bir .hurl dosyasına yazarsınız, satır içi onaylar eklersiniz ve bunları terminalden çalıştırırsınız. Libcurl üzerine inşa edilmiş küçük bir Rust ikili dosyasıdır, bu nedenle hızlıdır ve bir CI hattına eklemesi kolaydır. Hurl, HTTP'yi tanımlayan gibi okunan testler istediğinizde ve bir proje UI'si yerine düz metinle yaşamaktan rahatsanız parlar.
Hoppscotch CLI (hopp), Hoppscotch koleksiyonlarını ve test komut dosyalarını CI'da çalıştırır. Dışa aktarılmış bir koleksiyonu ve ortamı JSON olarak geçirebilir veya bir erişim belirteci ile koleksiyon ve ortam kimliklerini referans alabilirsiniz. CSV yineleme verilerini ve --reporter-junit aracılığıyla bir JUnit raporlayıcısını destekler ve başarısızlık durumunda sıfır olmayan bir çıkış kodu döndürür. Ekibiniz zaten Hoppscotch kullanıyorsa temiz bir uyum sağlar. Bunu düşünüyorsanız, en iyi Hoppscotch CLI alternatifleri özetimize bakın.
Başsız çalıştırıcılar nasıl karşılaştırılır?
| Araç | Test kaynağı | Veri odaklı giriş | Dahili raporlayıcılar | En iyi ne zaman |
|---|---|---|---|---|
| Apidog CLI | Apidog projesi, paketleri veya dışa aktarılmış dosya | CSV / JSON (-d) |
cli, html, json, junit | Tasarım, taklit, test ve belgeleri tek bir yerde istiyorsanız |
| Newman | Postman koleksiyonları | CSV / JSON (-d) |
cli, json, junit, progress (eklenti aracılığıyla HTML) | Postman koleksiyonları doğruluk kaynağınızsa |
| Hurl | Düz metin .hurl dosyaları |
Çalıştırıcı seçenekleriyle CSV | JUnit, TAP, JSON raporu | Düz metin, sürüm kontrollü testleri tercih ediyorsanız |
| Hoppscotch CLI | Hoppscotch koleksiyonları (dosya veya kimlik) | CSV (--iteration-data) |
JUnit | Ekibiniz zaten Hoppscotch kullanıyorsa |
Dördü de gerçekten başsızdır: her biri bir komuttan çalışır, GUI'yi atlar ve bir çıkış kodu aracılığıyla geçme veya başarısız olma durumunu bildirir. Apidog'un avantajı CI'da çalışması değildir; hepsi bunu yapar. Avantajı, CLI'dan test ettiğiniz projenin aynı zamanda sözleşmeyi tasarladığınız, taklit ettiğiniz ve belgeleri yayınladığınız yer olmasıdır, böylece test tanımı ile API tanımı birbirinden ayrılmaz.
Doğru olanı seçmek
Testlerinizin zaten nerede olduğundan başlayın. Postman mağazası mı? Newman en az sürtünmeli yoldur. Düz metin saflığı mı? Hurl. Zaten Hoppscotch kullanıyor musunuz? CLI'si hemen oradadır.
Dört aracı bir araya getirmek istemiyorsanız Apidog'u seçin. Başsız çalıştırdığınız senaryolar, görsel olarak oluşturduğunuz senaryolarla aynıdır, aynı OpenAPI sözleşmesiyle desteklenir ve gerçek arka uç mevcut olmadan önce test etmek için CI'da da çalıştırabileceğiniz bir taklit sunucusuyla gelir. Bu tek doğruluk kaynağı, "CI testlerimiz var" ile "testlerimiz gerçekten gönderdiğimiz şeyi yansıtıyor" arasındaki farktır.
Sıkça sorulan sorular
Başsız bir API test aracı, CLI API test aracıyla aynı mıdır?
Gündelik kullanımda aslında evet. "Başsız", özelliği (GUI gerektirmez) tanımlar; "CLI" ise arayüzü (komut satırından yönetirsiniz) tanımlar. Başsız bir API test aracı neredeyse her zaman bir CLI aracıdır ve terimler birbirinin yerine kullanılır. Önemli olan, gözetimsiz çalışması ve bir hattın okuyabileceği bir geçme/başarısızlık durumunu raporlamasıdır.
Bu araçları test betikleri yazmadan çalıştırabilir miyim?
Araca bağlıdır. Apidog, uygulama içinde onayları görsel olarak oluşturmanıza ve ardından aynı senaryoları CLI'dan başsız olarak çalıştırmanıza olanak tanır, böylece elle bir test arayüzü yazmanıza gerek kalmaz. Newman ve Hoppscotch CLI, ilgili uygulamalarında yazılmış test betikleri içerebilen koleksiyonları çalıştırır. Hurl her şeyi kendinizin yazdığı düz metin bir dosyada tutar. Hiç betik yazmak istemiyorsanız, görselden başsize giden yol Apidog CLI tam kılavuzumuzda anlatılmıştır.
Başsız API testlerinin çalışması için gerçek bir arka uca ihtiyacı var mı?
Her zaman değil. Testleri çalışan bir servise, bir hazırlık URL'sine veya bir taklit sunucuya yönlendirebilirsiniz. Bir taklit sunucuyu CI'da başsız olarak çalıştırmak, arka uç bitmeden istek ve yanıt şekillerini test etmenizi sağlar, bu da ön uç ve entegrasyon çalışmalarının engellenmemesini sağlar. Apidog'un taklit sunucusu tam da bu amaçla CI'da çalışır.
CI/CD için hangi başsız çalıştırıcı en iyisidir?
Tek bir kazanan yoktur; en iyisi, halihazırda sahip olduğunuz testleri en az kurulumla çalıştıran araçtır. Yeni başlıyorsanız veya araçları birleştiriyorsanız, Apidog CLI tasarım, taklit, test ve belgeleri tek bir projeden kapsar. Mevcut bir ekosisteme bağlıysanız, çalıştırıcıyı ona göre eşleştirin: Postman için Newman, Hoppscotch için Hoppscotch CLI, düz metin sevenler için Hurl. Apidog CLI vs Newman ve Apidog CLI vs Postman CLI karşılaştırmalarımız, takaslar hakkında daha derinlemesine bilgi verir.
Hepsini bir araya getirmek
Başsız bir API test aracı, penceresiz bir çalıştırıcıdan ibarettir: bir komut dosyasını yazabileceğiniz, veriye işaret edebileceğiniz ve CI'ya bağlayabileceğiniz bir komut, böylece her gönderim aynı şekilde test edilir. Newman, Hurl ve Hoppscotch CLI, kendi ekosistemlerinde bunu iyi yaparlar. Apidog CLI da bunu yapar, üstelik testlerinizin, taklitlerinizin, sözleşmenizin ve belgelerinizin dört ayrı proje yerine tek bir projede bulunması avantajıyla. Bir senaryoyu bir kez tasarlamak ve her yerde başsız olarak çalıştırmak için Apidog'u indirin.
