Cara Menjalankan Postman Collections di CI Tanpa Newman

Ashley Innocent

Ashley Innocent

20 April 2026

Cara Menjalankan Postman Collections di CI Tanpa Newman

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

TL;DR

Newman, runner CLI resmi Postman, memerlukan npm dan Node.js dalam pipeline CI Anda. Hal ini memperkenalkan risiko rantai pasok, menambah overhead manajemen dependensi, dan pada tingkatan gratis Postman, eksekusi koleksi melalui API kini dibatasi laju. Panduan ini mencakup tiga alternatif untuk menjalankan pengujian API di CI tanpa Newman: runner CLI Apidog, k6, dan Hurl. Apidog adalah jalur paling langsung jika Anda memiliki koleksi Postman yang sudah ada karena mengimpornya secara native dan tidak memiliki batasan per eksekusi.

💡
Apidog adalah platform pengembangan API all-in-one gratis. Runner CLI-nya mengeksekusi koleksi yang kompatibel dengan Postman di CI tanpa dependensi npm dan tanpa batasan jumlah eksekusi. Coba Apidog secara gratis, tanpa kartu kredit diperlukan.
button

Pendahuluan

Newman adalah ide yang bagus. Alat CLI yang menjalankan koleksi Postman di pipeline CI membuat pengujian API menjadi portabel dan dapat diotomatisasi. Ini dikirimkan dengan kepercayaan merek Postman, terintegrasi dengan GitHub Actions melalui tindakan komunitas yang populer, dan berfungsi dengan cukup baik sehingga banyak tim membangun seluruh strategi otomatisasi pengujian API mereka di sekitarnya.

Kemudian tiga masalah muncul.

Pertama, Newman adalah paket npm. Setiap pipeline yang menggunakannya menarik dari registri npm pada saat build. Kompromi ua-parser-js tahun 2021 dan insiden node-ipc tahun 2022 menunjukkan bahwa serangan rantai pasok npm bukanlah teoretis. Tim keamanan mulai bertanya mengapa lapisan pengujian API memerlukan npm sama sekali.

Kedua, Postman mulai membatasi eksekusi koleksi pada tingkatan gratis dan berbayar dasar. Tim yang mengandalkan menjalankan koleksi melalui Postman API sebagai bagian dari CI menghadapi kuota dan harus meningkatkan paket atau mendesain ulang pipeline mereka.

Ketiga, kecepatan pemeliharaan Newman melambat. Masalah tetap terbuka di GitHub selama berbulan-bulan. Beberapa API scripting Postman yang lebih baru memiliki dukungan yang tidak konsisten di Newman.

Hasilnya: pengembang yang membangun pipeline CI di Newman kini mencari alternatif. Berikut adalah apa yang tersedia.

Opsi 1: Apidog CLI (direkomendasikan untuk pengguna koleksi Postman)

Runner CLI Apidog adalah pengganti fungsional terdekat untuk Newman jika Anda sudah berinvestasi pada koleksi Postman.

Apa yang didukung

Tidak memerlukan npm. Apidog CLI didistribusikan sebagai biner mandiri. Anda mengunduhnya sekali, menambahkannya ke PATH Anda, dan ia berjalan.

Tidak ada batasan per eksekusi. Apidog tidak membatasi eksekusi koleksi pada paket apa pun. Pipeline yang menjalankan 500 koleksi per hari bekerja sama dengan yang menjalankan 5.

Instalasi

Unduh biner CLI untuk platform Anda dari apidog.com/cli atau gunakan penginstal shell:

# macOS / Linux
curl -sSf https://apidog.com/cli/install.sh | sh

# Verifikasi
apidog --version

Untuk runner CI berbasis Docker, Apidog menyediakan citra resmi:

FROM apidog/cli:latest

Menjalankan koleksi Postman

Ekspor koleksi Anda dari Postman (File > Export > Collection v2.1) dan lingkungan Anda (Manage Environments > Export).

Kemudian jalankan:

apidog run collection.json \
  --environment environment.json \
  --reporter-junit results.xml

Contoh GitHub Actions

name: API Tests

on: [push, pull_request]

jobs:
  api-tests:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Install Apidog CLI
        run: curl -sSf https://apidog.com/cli/install.sh | sh

      - name: Run API tests
        run: |
          apidog run ./tests/collection.json \
            --environment ./tests/env.json \
            --reporter-junit test-results.xml

      - name: Upload test results
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: api-test-results
          path: test-results.xml

Tidak ada npm install, tidak ada package.json, tidak ada matriks versi Node.js. Pekerjaan berjalan lebih cepat dan permukaan dependensi lebih kecil.

Contoh GitLab CI

api-tests:
  image: apidog/cli:latest
  script:
    - apidog run ./tests/collection.json
        --environment ./tests/env.json
        --reporter-junit test-results.xml
  artifacts:
    reports:
      junit: test-results.xml

Opsi 2: k6

k6 adalah alat pengujian beban dari Grafana Labs yang juga menangani pengujian API fungsional. Penting untuk diketahui karena sangat baik untuk pengujian kinerja bersamaan dengan pemeriksaan fungsional.

Apa yang didukung

Apa yang tidak didukung

Kapan memilih k6

Jika Anda perlu menggabungkan pengujian fungsional dengan pengujian kinerja dalam pipeline yang sama – misalnya, memverifikasi kebenaran API di bawah beban – k6 layak untuk biaya migrasi. Jika Anda hanya ingin mengganti Newman untuk pengujian fungsional, Apidog lebih cepat untuk diatur.

Penggunaan dasar k6 di CI

# Instal (Linux)
sudo apt-get install k6

# Jalankan skrip pengujian
k6 run api-tests.js

Output CI k6 lulus/gagal berdasarkan definisi ambang batas dalam skrip Anda. Output JUnit XML tersedia melalui paket k6-reporter.

Opsi 3: Hurl

Hurl adalah alat pengujian HTTP sumber terbuka yang ditulis dalam Rust. Cepat, tidak memiliki dependensi runtime, dan menggunakan DSL teks biasa untuk mendefinisikan permintaan dan penegasan.

Apa yang didukung

Apa yang tidak didukung

Kapan memilih Hurl

Jika Anda bersedia menulis ulang tes Anda dalam DSL Hurl, Anda mendapatkan biner yang sangat kecil tanpa runtime. Biner tersebut adalah satu file berukuran 10 MB. Hurl adalah pilihan yang kuat untuk proyek baru di mana Anda tidak menanggung "hutang" koleksi Postman.

Contoh pengujian Hurl dasar

GET https://api.example.com/users/1
HTTP 200
[Asserts]
jsonpath "$.id" == 1
jsonpath "$.email" isString

Hurl di GitHub Actions

- name: Install Hurl
  run: |
    curl -LO https://github.com/Orange-OpenSource/hurl/releases/latest/download/hurl-x86_64-unknown-linux-gnu.tar.gz
    tar -xf hurl-*.tar.gz
    sudo mv hurl /usr/local/bin/

- name: Run API tests
  run: hurl --test tests/*.hurl

Membandingkan ketiga opsi

Fitur Apidog CLI k6 Hurl
Impor Postman Native Konverter (lossy) Tidak
Dependensi npm Tidak Tidak Tidak
Skrip JavaScript Ya (API pm.*) Ya (ES6) Tidak (hanya DSL)
Pengujian kinerja Tidak Ya Tidak
Ukuran biner ~50 MB ~30 MB ~10 MB
Batasan eksekusi gratis Tidak ada Tidak ada Tidak ada
Output JUnit Ya Via plugin Ya

Migrasi dari Newman: langkah-langkah praktis

Jika Anda memiliki pipeline berbasis Newman yang sudah ada, berikut adalah jalur migrasi ke Apidog CLI:

Ekspor koleksi Anda. Di Postman, klik kanan setiap koleksi dan ekspor sebagai v2.1. Ekspor lingkungan Anda secara terpisah.

Instal Apidog CLI. Tambahkan langkah instal ke konfigurasi CI Anda.

Ganti perintah Newman. Perintah Newman yang umum terlihat seperti:

newman run collection.json -e environment.json --reporters junit --reporter-junit-export results.xml

Yang setara dengan Apidog:

apidog run collection.json --environment environment.json --reporter-junit results.xml

Struktur flag serupa berdasarkan desain.

Periksa kompatibilitas skrip. Jalankan koleksi Anda secara lokal dengan Apidog CLI sebelum mengkomit perubahan CI. Sebagian besar skrip pm.* berjalan tanpa modifikasi. Skrip yang menggunakan pm.require untuk memuat modul eksternal memerlukan penyesuaian.

Hapus Node.js dari konfigurasi CI Anda. Jika Newman adalah satu-satunya alasan Node.js muncul di pipeline Anda, Anda dapat menghapus langkah pengaturan Node.js dan langkah npm install sepenuhnya.

FAQ

Apakah Newman resmi dihentikan?Tidak, hingga awal 2026 Newman masih dikelola oleh Postman. Tetapi kecepatan pemeliharaan lambat dan beberapa masalah terbuka memengaruhi kasus penggunaan dunia nyata. Ini tidak akan hilang dalam waktu dekat, tetapi membangun pipeline baru di atasnya membawa risiko yang semakin besar.

Apakah Apidog CLI memerlukan akun Apidog?Untuk menjalankan koleksi yang diekspor secara lokal, tidak. Untuk menyinkronkan koleksi dari ruang kerja Apidog, ya. Jika Anda bermigrasi dari Postman, Anda dapat berjalan murni dari file JSON yang diekspor.

Dapatkah Apidog CLI menjalankan pengujian berbasis data?Ya. Teruskan file data CSV atau JSON dengan flag --iteration-data. Ini setara dengan flag -d Newman untuk iterasi berbasis data.

Apa risiko rantai pasok dengan runner berbasis npm?Setiap paket yang ditarik dari npm pada waktu CI adalah permukaan serangan potensial. Paket yang disusupi dapat mengeksfiltrasi variabel lingkungan, yang dalam konteks CI mencakup kunci API dan token. Runner biner yang diunduh melalui HTTPS dan dipatok ke checksum menghindari kelas risiko ini.

Apakah k6 mendukung pengujian gRPC?Ya. k6 memiliki dukungan gRPC native, yang menjadikannya salah satu dari sedikit alat sumber terbuka yang menangani REST dan gRPC dalam suite pengujian yang sama. Jika permukaan API Anda mencakup endpoint gRPC, k6 layak dievaluasi.

Apakah Hurl mendukung header autentikasi?Ya. Hurl mendukung header kustom, termasuk Authorization, Bearer, dan autentikasi berbasis cookie. Variabel memungkinkan Anda menyuntikkan rahasia dari variabel lingkungan saat runtime.

Era Newman sebagai pilihan CI default untuk pengujian API akan berakhir. Risiko rantai pasok itu nyata, batasan tingkatan gratis telah mengubah perhitungan untuk banyak tim, dan alternatif yang lebih baik kini tersedia. Migrasi ke pipeline bebas Newman sangat mudah, terutama jika Anda beralih ke Apidog CLI dengan koleksi Postman Anda yang sudah ada.

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.

Cara Menjalankan Postman Collections di CI Tanpa Newman