DEV Community

Cover image for Apidog CLI vs Hoppscotch CLI: CI/CD İçin En Uygun Araç Hangisi
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Apidog CLI vs Hoppscotch CLI: CI/CD İçin En Uygun Araç Hangisi

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.

Apidog'u bugün deneyin

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
Enter fullscreen mode Exit fullscreen mode

CI ortamınız eski bir Node imajı kullanıyorsa önce Node sürümünü kontrol edin:

node --version
Enter fullscreen mode Exit fullscreen mode

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>
Enter fullscreen mode Exit fullscreen mode

Temel CI kullanımı genellikle şu akışa iner:

apidog run \
  -t <scenario-id> \
  -e <env-id> \
  --access-token $APIDOG_ACCESS_TOKEN
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Veya bir Hoppscotch örneğinden koleksiyon kimliğiyle çekebilirsiniz:

hopp test <collection-id> \
  --token <access_token> \
  --server https://hoppscotch.your-company.com
Enter fullscreen mode Exit fullscreen mode

Çalışma sırası şöyledir:

  1. Ön istek betiği çalışır.
  2. HTTP isteği gönderilir.
  3. Test betiği değerlendirilir.
  4. pw.test() ve pw.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)
})
Enter fullscreen mode Exit fullscreen mode

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>
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Örnek users.csv:

email,password
user1@example.com,secret1
user2@example.com,secret2
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

JSON veri kümesi kullanmak istediğinizde:

apidog run \
  -t <scenario-id> \
  -d ./users.json \
  -r cli,json
Enter fullscreen mode Exit fullscreen mode

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"
    }
  }
]
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Buluta rapor yüklemek için:

apidog run \
  -t <scenario-id> \
  --upload-report
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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)