Hoppscotch adalah ekosistem API sumber terbuka; aplikasi web, aplikasi desktop, CLI, dan backend yang dapat di-host sendiri, sering digambarkan sebagai alternatif terbuka untuk Postman dan Insomnia. Hoppscotch CLI adalah bagian yang mengambil koleksi yang Anda bangun dalam ekosistem tersebut dan menjalankannya dari terminal, yang persis seperti yang Anda butuhkan untuk CI/CD.
Panduan ini menjelaskan apa itu Hoppscotch CLI, cara menginstalnya, dan bagaimana perintah hopp test sebenarnya bekerja, dengan flag nyata dan contoh CI yang berfungsi. Jika Anda membandingkannya dengan runner lain, postingan alternatif Hoppscotch CLI terbaik membandingkan pilihan, dan Apidog CLI vs Hoppscotch CLI adalah perbandingan langsung.
Apa itu Hoppscotch CLI
Hoppscotch CLI dikirimkan sebagai paket npm @hoppscotch/cli. Tugasnya sempit dan berguna: mengambil koleksi Hoppscotch, menjalankan setiap permintaan di dalamnya, mengeksekusi skrip pengujian yang terlampir pada permintaan tersebut, dan keluar dengan kode lulus/gagal yang dapat dibaca oleh pipeline Anda.

Ini menjadikannya runner koleksi, kategori yang sama dengan Newman untuk Postman atau inso untuk Insomnia. Ini tidak mendesain API, mock endpoint, atau menghasilkan dokumen. Ini menjalankan permintaan dan memeriksa pernyataan. Untuk alat sumber terbuka gratis yang juga dapat Anda host sendiri, fokus itu adalah intinya.
Karena Hoppscotch adalah sumber terbuka, Anda dapat menjalankan seluruh stack sendiri dan mengarahkan CLI ke instans Anda sendiri. Tim yang tidak ingin data permintaan mereka berada di cloud vendor cenderung menyukai itu. Konsekuensinya adalah Anda memiliki hostingnya.
Menginstal Hoppscotch CLI
Instal secara global dari npm:
npm i -g @hoppscotch/cli
Satu persyaratan yang perlu diperhatikan: CLI saat ini membutuhkan Node.js v22 atau yang lebih baru. Jika Anda masih menggunakan Node 20, Anda dapat tetap menggunakan CLI v0.26.0, tetapi rilis terbaru mengasumsikan v22+. Periksa versi Anda sebelum Anda mengintegrasikannya ke dalam agen build:
node --version
hopp --version
Jika citra CI Anda memiliki Node versi lama, paskan runtime ke v22 di pipeline, atau Anda akan mengalami kesalahan instalasi atau runtime yang terlihat tidak terkait dengan pengujian Anda.
Perintah hopp test
Semuanya berjalan melalui hopp test. Bentuk dasarnya mengarahkannya ke file koleksi:
hopp test ./my-collection.json
Anda dapat meneruskan file lingkungan dan penundaan antar permintaan:
hopp test ./my-collection.json -e ./staging.env.json -d 500
Di sini -e (atau --env) menyediakan lingkungan, dan -d (atau --delay) menunggu jumlah milidetik yang diberikan antar permintaan, yang membantu ketika Anda mencapai API dengan pembatasan laju.
Jika koleksi Anda berada di instans Hoppscotch (cloud atau self-hosted) daripada file lokal, Anda mereferensikannya dengan ID dan mengautentikasi dengan token akses pribadi:
hopp test <collection-id> --token <access_token> --server https://hoppscotch.your-company.com
--token membawa token akses pribadi Anda, dan --server menunjuk ke URL self-hosted Anda. Hilangkan --server jika Anda berada di cloud Hoppscotch yang di-host.
Eksekusi dan Pelaporan Berbasis Data
Dua flag mengubah hopp test dari satu eksekusi menjadi sesuatu yang ramah CI.
Untuk pengujian berbasis data, masukkan CSV dan atur berapa banyak iterasi yang akan dijalankan:
hopp test ./my-collection.json --iteration-data ./users.csv --iteration-count 3
--iteration-data mengambil CSV yang kolom-kolomnya menjadi variabel dalam setiap eksekusi, dan --iteration-count mengontrol berapa kali koleksi diulang. Itu adalah ide yang sama dengan -d milik Newman, dan itu mencakup kasus umum "jalankan alur login ini terhadap 50 akun".
Untuk pelaporan, CLI menulis JUnit XML, yang dapat dicerna oleh sebagian besar sistem CI untuk menampilkan hasil pengujian secara native:
hopp test ./my-collection.json --reporter-junit ./report.xml
JUnit adalah satu-satunya format laporan terstruktur yang dihasilkan CLI. Jika Anda membutuhkan artefak HTML atau laporan yang di-host dan dapat ditautkan, itu adalah celah yang perlu diketahui sebelum Anda berkomitmen. Alat seperti Apidog CLI menghasilkan laporan CLI, HTML, dan JSON untuk perbandingan.
Apa yang sebenarnya dieksekusi selama eksekusi
Saat Anda menjalankan hopp test, CLI menelusuri koleksi secara berurutan dan, untuk setiap permintaan:
- menjalankan skrip pra-permintaan,
- mengirimkan permintaan,
- menjalankan skrip pengujian dan mengevaluasi setiap pernyataan.
Skrip pengujian menggunakan API scripting Hoppscotch: pw.test() mendefinisikan blok pengujian dan pw.expect() membuat pernyataan di dalamnya. Contoh kecil yang terlampir pada permintaan terlihat seperti ini:
pw.test("Status is 200", () => {
pw.expect(pw.response.status).toBe(200);
});
Jika ada pernyataan yang gagal, perintah keluar dengan kode bukan nol. Jika semuanya lulus, keluar 0. Perilaku kode keluar itu adalah seluruh kontrak dengan CI: keluar bukan nol akan menggagalkan build, yang persis seperti yang Anda inginkan.
Contoh GitHub Actions
Mengintegrasikan hopp test ke CI sangat singkat. Alur kerja ini menginstal CLI pada runner Node 22 dan menjalankan koleksi pada setiap push:
name: API tests
on: [push]
jobs:
hopp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
- run: npm i -g @hoppscotch/cli
- run: hopp test ./collection.json -e ./ci.env.json --reporter-junit ./report.xml
Langkah setup-node yang mengunci v22 adalah bagian yang sering dilupakan orang. Tanpa itu, Node runner default mungkin terlalu lama untuk CLI saat ini.
Batasan yang perlu diingat
Hoppscotch CLI sangat baik dalam apa yang dilakukannya, dan jujur tentang cakupannya:
- Ini adalah runner koleksi, bukan platform. Tidak ada desain, mocking, atau dokumentasi. Anda membawanya dari tempat lain.
- Anda mengekspor atau menghosting koleksi sendiri. CLI menjalankan file koleksi atau menariknya dari instans yang Anda tuju.
- JUnit adalah satu-satunya laporan terstruktur. Tidak ada HTML bawaan atau laporan yang di-host.
- Node v22+. Persyaratan yang ketat pada rilis saat ini.
Tidak ada yang negatif; itu adalah harga dari alat kecil, gratis, dan sumber terbuka. Jika kebutuhan Anda tumbuh melewati "menjalankan koleksi di CI" menuju desain, mocking, eksekusi berbasis data dengan laporan yang lebih kaya, dan mengelola sumber daya API sebagai kode, di situlah platform terintegrasi berperan. Apidog mencakup seluruh siklus hidup API, dan panduan lengkap Apidog CLI menunjukkan sisi terminal. Anda dapat mengunduh Apidog dan mengimpor koleksi Hoppscotch untuk membandingkan secara langsung, atau membaca panduan migrasi.
FAQ
Apakah Hoppscotch CLI gratis? Ya. Ini adalah sumber terbuka di bawah proyek Hoppscotch, dan Anda dapat menghosting seluruh ekosistem sendiri. Lihat dokumen resmi CLI dan repo GitHub.
Apa perbedaan antara hopp test dan Newman? Keduanya adalah runner koleksi dengan iterasi berbasis data. Newman menjalankan koleksi Postman; hopp test menjalankan koleksi Hoppscotch. Konsepnya sangat mirip, termasuk data iterasi CSV dan lulus/gagal berdasarkan kode keluar.
Bisakah Hoppscotch CLI menjalankan koleksi dari server yang di-host sendiri? Ya. Gunakan hopp test <collection-id> --token <access_token> --server <your-url> untuk menarik dan menjalankan koleksi dari instans Anda sendiri.
Apakah menghasilkan laporan HTML? Tidak secara langsung. Ini menulis JUnit XML melalui --reporter-junit. Untuk laporan CLI, HTML, dan JSON bersama-sama, bandingkan dengan laporan pengujian Apidog CLI.
Hoppscotch CLI adalah cara yang bersih dan gratis untuk menjalankan koleksi API di CI, terutama jika Anda sudah menggunakan Hoppscotch atau menghostingnya sendiri. Ketahui cakupannya, paskan Node v22, dan andalkan output JUnit, dan itu melakukan tugasnya dengan baik.
