Hoppscotch CLI, bir terminalden API koleksiyonlarını çalıştırmak için ücretsiz, açık kaynaklı bir yoldur. Hoppscotch'u zaten web'de veya masaüstünde kullanıyorsanız, hopp test aynı istekleri hiçbir ücret ödemeden bir CI işlem hattına taşımanızı sağlar. Bu gerçek bir avantajdır ve bu makale aksini iddia etmeyecektir.
Ancak Hoppscotch CLI aynı zamanda bilerek dar kapsamlıdır. Koleksiyonları çalıştırır ve sonuçları raporlar. API'leri tasarlamaz, taklit etmez, belgelemez veya kod olarak yönetmez. Bu nedenle birçok ekip, bir JSON dosyasını yürütmekten daha fazlasını yapan tek bir araç istedikleri bir noktaya gelir veya Node v22 gereksinimi gibi bir sürtünme noktasıyla karşılaşır ve alternatiflere bakmaya başlar.
Hoppscotch CLI aslında ne yapar?
Hoppscotch CLI, npm paketi @hoppscotch/cli olarak sunulur. Global olarak yüklersiniz:
npm i -g @hoppscotch/cli
Öncelikle bilinmesi gereken bir şey: Node.js v22 veya daha yenisini gerektirir. Node 20'de takılı kalırsanız, CLI v0.26.0'da kalırsınız, bu da diğer işlerin daha eski bir Node sürümünü kullandığı paylaşılan bir CI görüntüsünü karmaşık hale getirebilir.
Temel komut hopp test'tir. Bir koleksiyon dosyasına (veya bir bulut koleksiyon kimliğine) işaret edersiniz ve her isteği sırayla çalıştırır:
hopp test ./collection.json -e ./environment.json -d 500
Bulut veya kendi kendine barındırılan örnekler için, bir kimlik ve kimlik bilgileri eklersiniz:
hopp test <collection-id> -e <environment-id> --token <access_token> --server <server-url>
Ön istek komut dosyalarını ve test komut dosyalarını (`pw.test()` paketleri, `pw.expect()` durumları) yürütür, yanıtları doğrular ve herhangi bir iddia başarısız olursa sıfır olmayan bir değerle çıkar. JUnit XML için `--reporter-junit`'i ve veri odaklı çalıştırmalar için `--iteration-count` ve `--iteration-data`'yi de destekler. Bu gerçekten yetenekli ücretsiz bir çalıştırıcıdır.
Ekipler neden hopp test alternatifi arıyor?
İnsanların Hoppscotch CLI yerine alternatif arama nedenleri genellikle pratik, ideolojik değil:
- Sadece bir koleksiyon çalıştırıcıdır, başka bir şey değil. Tasarım, taklit ve belgeleme başka yerlerde bulunur. Birden fazla aracı bir araya getirmek zorunda kalırsınız.
- Önce JSON dışa aktarmanız gerekir. Şartnameler ve ortamlar dışa aktarılan koleksiyon/ortam dosyaları (veya bulut kimlikleri) olarak gelir. CLI'nın kendisinde şartname denetimi veya tasarım katmanı yoktur.
- Node v22 sınırı. Birçok derleme görüntüsünün varsayılanından daha yeni, bu da ek sürüm hokkabazlığı anlamına geliyor.
- Kod olarak şartname iş akışı yok. Uç noktaları, şemaları veya dalları CLI'dan yönetemezsiniz. CLI, API'yi tanımladığınız yerin altındadır.
Bunların hiçbiri Hoppscotch'u kötü yapmaz. Onu odaklanmış bir araç yapar. Daha geniş kapsam istiyorsanız, zamanınıza değer alternatifler burada.
1. Apidog CLI (en iyi hepsi bir arada alternatif)
Apidog; tasarım, hata ayıklama, taklit, belgeleme ve testi kapsayan hepsi bir arada bir API platformudur. Apidog CLI, test ve kaynak yönetimi tarafını terminale ve CI/CD'ye taşır, bu da onu bağımsız bir koleksiyon çalıştırıcısına güçlü bir alternatif yapar.
`apidog run` ile komut satırından test senaryolarını ve koleksiyonları çalıştırırsınız. `-d` (CSV veya JSON veri kümeleri) aracılığıyla veri odaklı testi, `-e` aracılığıyla ortamları, CLI, HTML ve JSON formatlarında raporlayıcıları ve `--upload-report` ile bulut test raporlarını destekler. Test çalıştırmanın ötesinde, CLI OpenAPI'yi içe aktarabilir ve API kaynaklarını, uç noktalarını, şemalarını, ortamlarını, dallarını ve birleştirme isteklerini kod olarak yönetebilir. Böylece API tanımınız ve testleriniz, sürekli dışa aktarılıp içe aktarılmak yerine aynı sistemde yaşar.
Kapsam konusunda net olmak gerekirse: Apidog içe aktarıldığında spesifikasyonları doğrular, ancak bağımsız bir OpenAPI linter veya bir `split`/`join`/`bundle` komutu sunmaz. Eğer CI'da saf spesifikasyon denetimi hedefiniz ise, inso (aşağıda) daha uygun olacaktır. Apidog'un amacı entegrasyondur; tek bir yerde tasarım, taklit, belgeleme ve test yapar, ardından test ve kaynak katmanlarını CLI'dan yönetirsiniz.
Artıları:
- Bir araç zinciri yerine tasarım, taklit, dokümantasyon ve test için tek bir platform
- CSV/JSON veri kümeleriyle veri odaklı çalıştırmalar
- CLI, HTML ve JSON raporlayıcılar, ayrıca yüklenebilir bulut raporları
- Kod olarak kaynak: uç noktaları, şemaları, dalları ve birleştirme isteklerini CLI'dan yönetin
- OpenAPI'yi doğrudan içe aktarır
Eksileri:
- Bağımsız bir spesifikasyon denetleyicisi komutu yok (Spectral tarzı denetim için inso veya Redocly kullanın)
- Yalnızca bir koleksiyon çalıştırıyorsanız tam platform ihtiyacınızdan fazlasıdır
İkisini karşılaştırıyorsanız, Apidog CLI ve Hoppscotch CLI karşılaştırmasına ve pratik Hoppscotch CLI'dan Apidog CLI'ye geçiş kılavuzuna bakın. Daha kapsamlı Apidog CLI tam kılavuzu kurulumu, kimlik doğrulamayı ve tüm komut setini kapsar. Denemek için Apidog'u indirin.
2. Newman (Postman çalıştırıcısı)
Newman, Postman'in resmi komut satırı koleksiyon çalıştırıcısıdır. Ekibiniz zaten Postman kullanıyorsa, Newman en az dirençli yoldur: koleksiyonu ve ortamı dışa aktarın, ardından CI'da çalıştırın.
newman run collection.json -e env.json -r cli,json
Çoklu raporlayıcıları (CLI, JSON, JUnit, bir eklenti aracılığıyla HTML), iterasyon için veri dosyalarını ve işlem hatları için kararlı bir çıkış kodu sözleşmesini destekler.
Artıları:
- Olgun, geniş çapta belgelenmiş, devasa ekosistem
- Birinci sınıf Postman uyumluluğu
- Esnek raporlayıcılar ve veri odaklı iterasyonlar
Eksileri:
- Hoppscotch CLI gibi, o da sadece bir çalıştırıcıdır, tasarım veya dokümantasyon katmanı yoktur
- Postman koleksiyon formatına ve komut dosyası modeline bağlıdır
- Kullanmak için hala JSON dışa aktarırsınız
Apidog yaklaşımıyla doğrudan bir karşılaştırma için Apidog CLI ve Newman makalesine bakın.
3. inso (Kong'dan Insomnia CLI)
inso, Kong'un açık kaynaklı Insomnia istemcisinin komut satırı arkadaşıdır. Hoppscotch CLI'nın yapmadığı bir şeyi yapar: OpenAPI spesifikasyonlarını denetler. Denetleme, Stoplight OpenAPI linter'ı olan Spectral üzerinde çalışır, bu nedenle CI'daki spesifikasyon kalite geçitleri sizin için önemliyse, inso gerçek bir rakiptir.
inso run test "My Test Suite" --env "Staging"
inso lint spec "My API Design"
inso export spec "My API Design" --output output.yaml
inso, bir `.insomnia` dizininden (Insomnia'nın Git Senkronizasyonu tarafından oluşturulur) veya uygulama veri dizininden okur ve paketleri ve spesifikasyonları ada göre referans alır. `brew install inso` veya `docker pull kong/inso:latest` ile yükleyebilirsiniz.
Artıları:
- Spectral aracılığıyla gerçek OpenAPI denetimi
- Testleri ve koleksiyonları çalıştırın, spesifikasyonları dışa aktarın, hepsi terminalden
- Brew ve Docker kurulum yolları
Eksileri:
- Kaynakları adıyla referans alır, bu da komut dosyalarında kırılgan olabilir
- Insomnia 8, 2023'te tepki çeken zorunlu bir bulut/giriş hesabı tanıttı ve bu değişiklikle ilgili geçiş ve veri kaybı olayları yaşandı. Ekosistemi yeni benimsiyorsanız bilmeye değer.
Insomnia'yı daha geniş bir şekilde değerlendiriyorsanız, Apidog ve Insomnia ile en iyi Insomnia uygulama alternatifleri iyi birer sonraki okumadır. Ayrıca odaklanmış bir Apidog CLI ve inso (Insomnia CLI) karşılaştırması da bulunmaktadır.
4. Step CI (YAML'de açık kaynaklı API testi)
Step CI, betiklenmiş JS yerine bildirime dayalı YAML'de testleri tanımlayan açık kaynaklı bir API kalite aracıdır. İsteği ve beklenen yanıtı tanımlarsınız, o da bunları kontrol eder. REST, GraphQL ve gRPC'yi destekler, bu da çoğu koleksiyon çalıştırıcısından daha geniş protokol kapsamı anlamına gelir.
npx stepci run workflow.yml
Artıları:
- Bildirime dayalı YAML, sürüm kontrolünde okunması kolay
- Çoklu protokol (REST, GraphQL, gRPC)
- GUI bağımlılığı yok, yapılandırma tamamen deponuzda bulunur
Eksileri:
- Daha küçük topluluk ve ekosistem
- Tasarım, taklit veya dokümantasyon katmanı yok
- Testleri kaydetmek yerine YAML'de elle yazarsınız
Step CI, git-yerel, insan tarafından okunabilir testler istiyorsanız ve hiç kullanıcı arayüzüne ihtiyacınız yoksa iyi bir seçenektir.
5. Hurl (düz metin HTTP testi)
Hurl, basit bir düz metin formatında yazılmış HTTP isteklerini çalıştırır ve yanıtlarda iddialarda bulunur. libcurl üzerine inşa edilmiştir, hızlı çalışır ve temiz çıktı üretir. Komut dosyaları ve JSON koleksiyonları yoktur, sadece bir çekme isteğinde karşılaştırabileceğiniz `.hurl` dosyaları vardır.
GET https://api.example.com/health
HTTP 200
[Asserts]
jsonpath "$.status" == "up"
Şu şekilde çalıştırın:
hurl --test health.hurl
Artıları:
- Son derece hafif, tek bir ikili, hızlı
- Belgeleme gibi okunan düz metin dosyaları
- CI'da hızlı testler ve sağlık kontrolleri için harika
Eksileri:
- Tam bir test çerçevesinden daha alt düzey
- Tasarım, taklit veya dokümantasyon özellikleri yok
- Karmaşık, zincirleme, veri odaklı senaryolar için daha az uygun
Hurl, hızlı, okunabilir sözleşme ve hızlı kontroller için parlar. Bir platform olmaya çalışmıyor.
Karşılaştırma tablosu
| Araç | Lisans | Temel odak | Veri odaklı | Şartname denetimi | Tasarım/taklit/dokümantasyon | Rapor formatları |
|---|---|---|---|---|---|---|
| Apidog CLI | Ticari (ücretsiz katman) | Tam platform + CLI testi | Evet (CSV/JSON) | Hayır (içe aktarırken doğrular) | Evet | CLI, HTML, JSON, bulut |
| Hoppscotch CLI | Açık kaynak | Koleksiyon çalıştırıcısı | Evet (CSV iterasyonları) | Hayır | Hayır | CLI, JUnit |
| Newman | Açık kaynak | Postman çalıştırıcısı | Evet (veri dosyaları) | Hayır | Hayır | CLI, JSON, JUnit, HTML |
| inso | Açık kaynak | Insomnia çalıştırıcısı + denetleyici | Sınırlı | Evet (Spectral) | Kısmi (tasarım dokümanları) | CLI, JUnit |
| Step CI | Açık kaynak | YAML API testleri | Evet | Hayır | Hayır | CLI, JUnit |
| Hurl | Açık kaynak | Düz metin HTTP testleri | Şablonlama yoluyla | Hayır | Hayır | CLI, JUnit, HTML |
Nasıl seçmeli
- Tasarım aşamasından test aşamasına kadar tek bir araç istiyorsunuz: Apidog CLI. JSON'u dışa aktar, sonra çalıştır karmaşasını ortadan kaldırır ve API kaynaklarınızı ile testlerinizi aynı sistemde tutar.
- Ekibiniz zaten Postman kullanıyor: Newman. En düşük geçiş maliyeti.
- CI'da OpenAPI denetimine ihtiyacınız var: Spectral nedeniyle inso.
- Git-yerel, bildirime dayalı testler istiyorsunuz: Step CI (YAML) veya Hurl (düz metin).
- Ücretsiz bir açık kaynak çalıştırıcıdan memnunsunuz ve sadece Node 22'den kurtulmak istiyorsunuz: yukarıdakilerden herhangi biri, çünkü Newman, Step CI ve Hurl bu gereksinimi paylaşmıyor.
Eğer ayrılmanızın ana nedeni herhangi bir tek bir rahatsızlıktan ziyade koleksiyon çalıştırıcı sınırlaması ise, entegre yol ilk bakmanız gereken yoldur. Test tarafının gerçek bir işlem hattına nasıl uyduğunu görmek için Apidog CLI ve Postman CLI ile Apidog CLI CI/CD işlem hattı makalelerine, raporlayıcı seçenekleri için ise Apidog CLI test raporlarına bakın.
Sıkça Sorulan Sorular
Hoppscotch CLI ücretsiz mi? Evet. @hoppscotch/cli açık kaynaklı ve kullanımı ücretsizdir. Koleksiyonları çalıştırır, test komut dosyalarını yürütür ve JUnit raporları yayınlar. Buradaki alternatifler Hoppscotch'un pahalı olmasıyla ilgili değil, bir çalıştırıcıdan fazlasını istemekle ilgili.
Node v22 istemiyorsam Hoppscotch CLI'ye en basit alternatif nedir? Hurl, hiçbir Node bağımlılığı olmayan tek bir ikili dosyadır. inso Homebrew veya Docker aracılığıyla yüklenir. Step CI, npx aracılığıyla çalışır ancak mevcut Hoppscotch CLI gibi Node 22'ye bağlı değildir.
Mevcut Hoppscotch koleksiyonlarımı başka bir araca taşıyabilir miyim? Evet. Çoğu araç dışa aktarılan koleksiyonları veya OpenAPI'yi kabul eder. Entegre yol için, Hoppscotch CLI'dan Apidog CLI'ye geçiş kılavuzu, paketlerinizi içe aktırma ve yeniden çalıştırma adımlarını gösterir.
Apidog CLI, inso gibi OpenAPI spesifikasyonlarını denetler mi? Hayır. Apidog, spesifikasyonları içe aktarırken doğrular ancak bağımsız bir denetleyici komutu yoktur. Eğer CI'da Spectral tarzı stil kılavuzu uygulaması zorunlu bir gereksinimse, Apidog'u inso ile eşleştirin veya denetim odaklı seçeneği karşılaştırmak için Apidog CLI ve Redocly CLI makalesini kullanın.
Bir CI işlem hattı için en iyi alternatif hangisidir? Hepsi başarısızlık durumunda sıfır olmayan çıkış kodları döndürür, bu nedenle hepsi CI'da çalışır. Belirleyici faktör başka neye ihtiyacınız olduğudur: saf çalıştırmalar Newman veya Hurl'ü tercih eder; tasarım ve testler için tek bir doğru kaynak Apidog CLI'yı tercih eder; spesifikasyon geçitleri inso'yu tercih eder.
Hoppscotch CLI tek işini iyi yapar. Eğer o tek iş ihtiyacınız olan her şeyse, ona sadık kalın. Koşucuları bir araya getirmek yerine tasarım, taklit, dokümantasyon ve testi tek bir iş akışında birleştirmek isterseniz, entegre bir platform iyi bir adımdır. Apidog CLI tam kılavuzu ile başlayın, ardından Apidog'u indirin ve ilk senaryonuzu çalıştırın.
