Hem Apidog CLI hem de Hoppscotch CLI, API testlerini terminalden çalıştırır ve CI/CD hattına eklenebilir. Fark şu: Hoppscotch CLI, Hoppscotch koleksiyonlarını çalıştırmaya odaklanan açık kaynaklı bir runner’dır. Apidog CLI ise tasarım, test, mock ve dokümantasyonu aynı projede yöneten Apidog platformunun terminal giriş noktasıdır.
Hızlı karar
- Açık kaynak, kendi kendine barındırma ve JUnit raporu yeterliyse, özellikle zaten Hoppscotch kullanıyorsanız Hoppscotch CLI’ı seçin.
- HTML/JSON raporları, CSV/JSON veri odaklı testler, bulutta paylaşılabilir raporlar ve entegre bir API platformu istiyorsanız Apidog CLI’ı seçin.
Karşılaştırma
| Özellik | Apidog CLI | Hoppscotch CLI |
|---|---|---|
| Kurulum | Apidog runner / apidog CLI |
npm i -g @hoppscotch/cli Node v22+ |
| Çalıştırdığı | Test senaryoları ve koleksiyonları | Hoppscotch koleksiyonları |
| Kaynak | Apidog projesi veya OpenAPI içe aktarımı | Koleksiyon JSON dosyası veya örnek kimliği |
| Veri odaklı test |
-d ile CSV ve JSON |
--iteration-data CSV + --iteration-count
|
| Raporlayıcılar | CLI, HTML, JSON + bulut yükleme | JUnit XML |
| Betik oluşturma | Ön/son işlemciler, iddialar | Ön istek + pw.test() / pw.expect()
|
| Şartname denetimi | Bağımsız linter yok; içe aktarımda doğrular | Yok; çalıştırıcıdır |
| Kod olarak kaynaklar | Uç noktalar, şemalar, dallar, birleştirme istekleri | Yok |
| Açık kaynak | Hayır; ücretsiz katman var | Evet, kendi kendine barındırılabilir |
| Daha geniş platform | Tasarım, mock, dokümanlar, test | Hoppscotch ekosisteminin parçası |
Kurulum ve ilk çalıştırma
Hoppscotch CLI, npm üzerinden kurulur. Node.js v22 veya daha yenisini ister. Node 20 kullanıyorsanız CLI v0.26.0’da kalmanız gerekir.
npm i -g @hoppscotch/cli
hopp test ./collection.json -e ./staging.env.json
CI ortamınız eski bir Node imajı kullanıyorsa önce Node sürümünü kontrol edin:
node --version
Apidog CLI, Apidog runner üzerinden kullanılır. Kimlik doğrulama için oturum açma veya erişim belirteci gerekir. Ardından senaryoyu kimliğine göre çalıştırırsınız:
apidog run -t <scenario-id> -e <env-id> --access-token <token>
Temel CI kullanımı genellikle şu akışa iner:
apidog run \
-t <scenario-id> \
-e <env-id> \
--access-token $APIDOG_ACCESS_TOKEN
Sıfırdan başlıyorsanız Apidog CLI kurulum rehberi runner kurulumunu kapsar.
Ne çalıştırırlar?
Hoppscotch CLI
Hoppscotch CLI bir Hoppscotch koleksiyonu çalıştırır. Koleksiyonu yerel JSON dosyası olarak verebilirsiniz:
hopp test ./collection.json -e ./staging.env.json
Veya bir Hoppscotch örneğinden koleksiyon kimliğiyle çekebilirsiniz:
hopp test <collection-id> \
--token <access_token> \
--server https://hoppscotch.your-company.com
Çalışma sırası şöyledir:
- Ön istek betiği çalışır.
- HTTP isteği gönderilir.
- Test betiği değerlendirilir.
-
pw.test()vepw.expect()iddiaları başarısız olursa süreç sıfır olmayan çıkış koduyla biter.
Örnek test mantığı:
pw.test("status 200 olmalı", () => {
pw.expect(pw.response.status).toBe(200)
})
Bu davranış CI için yeterlidir: test başarısızsa pipeline da başarısız olur.
Apidog CLI
Apidog CLI, Apidog projenizde tanımladığınız test senaryolarını çalıştırır. Senaryolar şunları yapabilir:
- Birden fazla isteği sırayla çalıştırma
- Adımlar arasında değişken paylaşma
- Yanıt gövdesi, header ve status code üzerinde iddia kurma
- Ortam değişkenleriyle staging, production veya test ortamlarını ayırma
Örnek çalıştırma:
apidog run -t <scenario-id> -e <env-id>
Pratik fark: Senaryoyu Apidog arayüzünde tasarlayıp hata ayıkladıktan sonra aynı senaryoyu CI’da çalıştırırsınız. Ayrı bir export/import adımı gerekmeyebilir.
Daha fazla örnek için Apidog CLI tam rehberine ve komut satırından REST API testi rehberine bakabilirsiniz.
Veri odaklı test
Veri odaklı test, aynı senaryoyu farklı giriş verileriyle tekrar çalıştırmanızı sağlar. Örneğin farklı kullanıcılar, roller veya tenant’lar için aynı endpoint’i test edebilirsiniz.
Hoppscotch ile CSV kullanımı
Hoppscotch CLI, CSV yineleme verilerini destekler:
hopp test ./collection.json \
--iteration-data ./users.csv \
--iteration-count 5
Örnek users.csv:
email,password
user1@example.com,secret1
user2@example.com,secret2
Burada --iteration-count, kaç iterasyon çalıştırılacağını belirtir.
Apidog ile CSV veya JSON kullanımı
Apidog CLI, -d ile CSV veya JSON veri dosyası alabilir:
apidog run \
-t <scenario-id> \
-d ./users.csv \
-r cli,html
JSON veri kümesi kullanmak istediğinizde:
apidog run \
-t <scenario-id> \
-d ./users.json \
-r cli,json
CSV düz tablolar için yeterlidir. JSON ise iç içe verileriniz varsa daha pratiktir:
[
{
"user": {
"email": "user1@example.com",
"role": "admin"
}
},
{
"user": {
"email": "user2@example.com",
"role": "viewer"
}
}
]
CSV ve JSON modellerini yan yana görmek için Apidog CLI veri odaklı test rehberini inceleyebilirsiniz.
Raporlama
Raporlama tarafı iki CLI arasındaki en net ayrımlardan biridir.
Hoppscotch: JUnit XML
Hoppscotch CLI, JUnit XML raporu üretir:
hopp test ./collection.json \
--reporter-junit ./report.xml
JUnit XML çoğu CI sistemi tarafından desteklenir. GitHub Actions, GitLab CI, Jenkins veya benzeri sistemlerde test sonuçlarını göstermek için yeterlidir.
Ancak Hoppscotch CLI’ın yapılandırılmış rapor çıktısı JUnit XML ile sınırlıdır.
Apidog: CLI, HTML, JSON ve bulut raporu
Apidog CLI farklı rapor formatları üretebilir:
apidog run \
-t <scenario-id> \
-r cli,html,json
Buluta rapor yüklemek için:
apidog run \
-t <scenario-id> \
--upload-report
Kullanım senaryoları:
- Terminalde hızlı sonuç görmek için
cli - Pull request incelemesine HTML artifact eklemek için
html - Sonuçları başka bir araca aktarmak için
json - Ekip içinde paylaşılabilir bağlantı üretmek için
--upload-report
Rapor seçenekleri için Apidog CLI test raporları rehberine bakabilirsiniz.
CI/CD örnekleri
Hoppscotch CLI ile basit pipeline
name: API Tests
on:
pull_request:
push:
branches:
- main
jobs:
api-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- name: Install Hoppscotch CLI
run: npm i -g @hoppscotch/cli
- name: Run API tests
run: |
hopp test ./collection.json \
-e ./staging.env.json \
--reporter-junit ./report.xml
Apidog CLI ile basit pipeline
name: API Tests
on:
pull_request:
push:
branches:
- main
jobs:
api-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run Apidog tests
run: |
apidog run \
-t ${{ secrets.APIDOG_SCENARIO_ID }} \
-e ${{ secrets.APIDOG_ENV_ID }} \
--access-token ${{ secrets.APIDOG_ACCESS_TOKEN }} \
-r cli,html,json
Gerçek projede dikkat etmeniz gerekenler:
- Token’ları repository içine koymayın; CI secrets kullanın.
- Ortam kimliklerini staging ve production için ayrı tutun.
- Rapor dosyalarını CI artifact olarak saklayın.
- Test başarısız olduğunda CLI çıkış kodunun pipeline’ı durdurduğunu doğrulayın.
Açık kaynak ve kendi kendine barındırma
Bu başlıkta Hoppscotch güçlüdür. Hoppscotch ekosistemi açık kaynaklıdır ve kendi kendine barındırılabilir. Bu, özellikle şu ekipler için önemlidir:
- API istek verilerini üçüncü taraf bulutta tutmak istemeyenler
- Veri ikameti kuralları olan şirketler
- Açık kaynak araçları tercih eden ekipler
- Kendi altyapısını yönetmek isteyen platform ekipleri
Daha geniş karşılaştırmalar için Hoppscotch alternatifleri ve Postman vs Hoppscotch yazılarına bakabilirsiniz.
Apidog açık kaynaklı değildir. Ücretsiz bir katmanı vardır, ancak ana iddiası “daha açık” olmak değil; API tasarımı, test, mock ve dokümantasyonu tek platformda birleştirmektir.
Test çalıştırmanın ötesinde
Hoppscotch CLI, tasarımı gereği koleksiyon çalıştırıcısıdır. Görevi nettir:
hopp test ./collection.json
Bunun dışında API tasarımı, mock, dokümantasyon veya kaynak yönetimi için başka araçlara ihtiyaç duyabilirsiniz.
Apidog CLI ise Apidog projesinin terminal tarafıdır. API kaynaklarını platform içinde yönetme yaklaşımına daha yakındır:
- OpenAPI içe aktarma
- Uç noktalarla çalışma
- Şemalarla çalışma
- Ortamları kullanma
- Dallar ve birleştirme istekleriyle ilerleme
Bu nedenle Apidog CLI, yalnızca “test çalıştır” komutu olarak değil, API yaşam döngüsünün CI/CD parçası olarak konumlanır.
Dürüstlük notu: Apidog CLI’da bağımsız bir OpenAPI linter veya stil rehberi komutu yoktur. Spesifikasyonları içe aktarırken doğrular, ancak Redocly CLI veya Spectral gibi özel linter araçlarının yaptığı denetimi yapmaz. Terminalden katı OpenAPI linting istiyorsanız bu iki runner yerine özel bir linter eklemelisiniz.
Runner seviyesindeki farkları görmek için Apidog CLI vs Newman karşılaştırmasını da inceleyebilirsiniz.
Hangi durumda hangisini seçmeli?
Hoppscotch CLI seçin
Şu koşullar sizde ağır basıyorsa Hoppscotch CLI daha uygun olur:
- Zaten Hoppscotch koleksiyonları kullanıyorsunuz.
- Açık kaynak ve kendi kendine barındırma kritik.
- CI’da JUnit XML raporu yeterli.
- Node v22+ kullanmak sizin için sorun değil.
- Sadece koleksiyon çalıştırmanız gerekiyor.
Tipik komut:
hopp test ./collection.json \
-e ./staging.env.json \
--reporter-junit ./report.xml
Apidog CLI seçin
Şu ihtiyaçlarınız varsa Apidog CLI daha uygun olur:
- Tasarım, mock, doküman ve testleri tek projede yönetmek istiyorsunuz.
- Test senaryolarını UI’da hazırlayıp CI’da çalıştırmak istiyorsunuz.
- CSV yanında JSON veri setleriyle de veri odaklı test yapmak istiyorsunuz.
- HTML, JSON veya bulutta paylaşılabilir raporlar istiyorsunuz.
- CLI’ın daha geniş bir API platformunun parçası olmasını istiyorsunuz.
Başlamak için Apidog’u indirin ve mevcut koleksiyonunuzu içe aktarın.
Tipik komut:
apidog run \
-t <scenario-id> \
-e <env-id> \
-d ./users.json \
-r cli,html,json
Sadece hızlı CI testi gerekiyorsa
Eğer tek ihtiyacınız CI’da birkaç API isteğini çalıştırmaksa, iki araç da iş görür. Seçimi mevcut iş akışınıza göre yapın:
- Koleksiyonlarınız Hoppscotch’taysa Hoppscotch CLI kullanın.
- Senaryolarınız Apidog’daysa Apidog CLI kullanın.
- Henüz başlamadıysanız raporlama, veri formatı ve barındırma gereksinimlerinize göre karar verin.
Sıkça Sorulan Sorular
Her ikisi de veri odaklı testi destekliyor mu?
Evet. Hoppscotch --iteration-data ile CSV ve --iteration-count kullanır. Apidog -d ile CSV veya JSON veri dosyası kullanır.
Hangisinin raporları daha esnek?
Hoppscotch JUnit XML üretir. Apidog CLI, HTML ve JSON raporları üretebilir; ayrıca bulutta barındırılan rapor bağlantıları sunabilir. JUnit sizin için yeterliyse Hoppscotch iş görür. Daha fazla rapor formatı istiyorsanız Apidog daha uygundur.
Hoppscotch CLI ücretsiz ve açık kaynaklı mı?
Evet. Hoppscotch açık kaynaklıdır ve kendi kendine barındırılabilir. Ayrıntılar için resmi belgeleri ve GitHub deposunu inceleyebilirsiniz.
Apidog açık kaynaklı mı?
Hayır. Apidog açık kaynaklı değildir, ancak ücretsiz bir katmanı vardır.
Hoppscotch koleksiyonlarımı Apidog’a taşıyabilir miyim?
Evet. Koleksiyonu dışa aktarabilir, Apidog’a içe aktarabilir ve ardından apidog run ile çalıştırabilirsiniz. Komut eşlemeleri için geçiş rehberine bakabilirsiniz.
Sonuç
İki CLI da API testlerini terminalden çalıştırma işini yapar. Açık kaynak, kendi kendine barındırma ve JUnit odaklı basit CI entegrasyonu istiyorsanız Hoppscotch CLI mantıklı seçimdir.
Daha zengin veri odaklı testler, HTML/JSON/bulut raporları ve tasarımdan dokümantasyona uzanan entegre bir API platformu istiyorsanız Apidog’u seçin.
Top comments (0)