Cara Menjalankan Tes API Apidog CLI di CircleCI

Jalankan pengujian API Apidog CLI di CircleCI: sebuah .circleci/config.yml yang bisa disalin-tempel dengan executor cimg/node, rahasia, dan laporan JUnit dan HTML.

INEZA Felin-Michel

INEZA Felin-Michel

8 July 2026

Cara Menjalankan Tes API Apidog CLI di CircleCI

Apidog untuk Perusahaan

Penerapan On-Premises

SSO & RBAC

Sesuai SOC 2

Jelajahi Apidog Enterprise

Untuk menjalankan pengujian API Apidog CLI di CircleCI, tambahkan file .circleci/config.yml yang menggunakan eksekutor Docker cimg/node, menginstal apidog-cli dengan npm, dan menjalankan apidog run dengan token akses Anda, ID skenario pengujian, dan ID lingkungan. Simpan token dan ID sebagai variabel lingkungan CircleCI, lalu publikasikan laporan JUnit dan HTML dengan store_test_results dan store_artifacts. Panduan ini akan menjelaskan setiap bagian agar Anda bisa menyalin, menempel, dan menggunakannya.

Artikel ini adalah tentang menjalankan pengujian, bukan memilih platform CI. Jika Anda masih memutuskan antar alat, perbandingan CircleCI vs Jenkins membahas hal tersebut. Di sini kami mengasumsikan Anda sudah memilih CircleCI dan ingin rangkaian API Anda berjalan di setiap pendorongan (push).

Apa itu CircleCI dan bagaimana cara kerjanya

CircleCI adalah layanan integrasi dan pengiriman berkelanjutan berbasis cloud. Layanan ini memantau repositori Git Anda, dan ketika Anda mendorong (push) sebuah commit, CircleCI akan menjalankan langkah-langkah build, test, dan deploy yang telah Anda definisikan. Anda menjelaskan langkah-langkah tersebut dalam satu file YAML, sehingga pipeline Anda tersimpan dalam kontrol versi bersama kode Anda.

Semuanya dimulai dengan .circleci/config.yml di root repo Anda. CircleCI membaca file ini pada setiap pendorongan dan mengubahnya menjadi sebuah pipeline. Format konfigurasi saat ini adalah versi 2.1, yang menambahkan blok bangunan yang dapat digunakan kembali seperti orbs, perintah, dan parameter di atas mesin dasar 2.0.

Sebuah konfigurasi CircleCI memiliki tiga konsep inti:

Pemisahan itu penting untuk pengujian API. Anda mendefinisikan satu pekerjaan yang menginstal Apidog CLI dan menjalankan skenario Anda, lalu sebuah alur kerja yang memicunya pada branch yang Anda minati.

Mengapa menjalankan pengujian API di CircleCI

Menjalankan rangkaian API Anda di CI menangkap pelanggaran kontrak sebelum mencapai produksi. Perubahan skema, bidang yang diganti nama, atau alur otentikasi yang rusak akan muncul sebagai build yang gagal (merah) alih-alih tiket dukungan.

Apidog CLI dibangun untuk tujuan ini. Anda merancang dan men-debug skenario pengujian di aplikasi Apidog, lalu menjalankan skenario yang sama secara headless di CI dengan satu perintah. Tidak perlu menulis ulang pernyataan dalam kode, dan tidak ada harness pengujian terpisah yang harus dipelihara.

Jika Anda ingin gambaran lebih luas tentang bagaimana pemeriksaan otomatis cocok dalam pipeline, 12 praktik terbaik CI/CD untuk pengujian API adalah bacaan pelengkap yang bagus.

Prasyarat

Sebelum Anda menulis konfigurasi, siapkan ini di aplikasi Apidog:

Anda juga akan memerlukan akun CircleCI yang terhubung ke penyedia Git Anda, dengan proyek diaktifkan di dasbor CircleCI.

Menyimpan rahasia sebagai variabel lingkungan

Jangan pernah memasukkan token akses Anda secara langsung (hardcode) di config.yml. File tersebut di-commit ke Git, jadi token yang ada di sana berarti token yang bocor.

CircleCI memberi Anda dua opsi aman:

Untuk panduan ini, tambahkan tiga variabel: APIDOG_ACCESS_TOKEN, APIDOG_TEST_SCENARIO_ID, dan APIDOG_ENVIRONMENT_ID. CLI membacanya saat runtime, dan tidak ada yang sensitif tersimpan di repo Anda.

File config.yml lengkap

Berikut adalah konfigurasi lengkap yang bisa langsung disalin dan ditempel. Letakkan di .circleci/config.yml, atur tiga variabel lingkungan Anda, lalu lakukan push.

version: 2.1

jobs:
  api-tests:
    docker:
      - image: cimg/node:20.11
    steps:
      - checkout
      - run:
          name: Install Apidog CLI
          command: npm install -g apidog-cli
      - run:
          name: Run Apidog API tests
          command: |
            apidog run \
              --access-token $APIDOG_ACCESS_TOKEN \
              -t $APIDOG_TEST_SCENARIO_ID \
              -e $APIDOG_ENVIRONMENT_ID \
              -r cli,junit,html \
              --out-dir ./reports
      - store_test_results:
          path: ./reports
      - store_artifacts:
          path: ./reports

workflows:
  test-api:
    jobs:
      - api-tests

Izinkan saya menjelaskan apa yang dilakukan setiap bagian.

Eksekutor

docker:
  - image: cimg/node:20.11

cimg/node adalah image kemudahan CircleCI untuk Node.js. Image ini dilengkapi dengan Node, npm, dan alat build umum yang sudah terinstal, sehingga npm install -g apidog-cli berfungsi tanpa pengaturan tambahan. Tag :20.11 menentukan versi Node; gunakan versi yang distandarisasi oleh tim Anda.

Langkah-langkah

checkout menarik repositori Anda ke dalam direktori kerja job. Langkah run pertama menginstal CLI secara global. Langkah run kedua mengeksekusi pengujian Anda.

Perhatikan perintah pengujian dengan seksama:

apidog run \
  --access-token $APIDOG_ACCESS_TOKEN \
  -t $APIDOG_TEST_SCENARIO_ID \
  -e $APIDOG_ENVIRONMENT_ID \
  -r cli,junit,html \
  --out-dir ./reports

Setiap flag melakukan satu tugas:

Mempublikasikan laporan

- store_test_results:
    path: ./reports
- store_artifacts:
    path: ./reports

store_test_results menunjuk CircleCI ke JUnit XML di ./reports. CircleCI memparse-nya dan menampilkan tab Pengujian pada build, sehingga kegagalan dicantumkan berdasarkan nama dengan data waktu. Ini yang mengubah tumpukan teks log menjadi tampilan lulus/gagal yang terstruktur.

store_artifacts mengunggah direktori yang sama sebagai file yang dapat diunduh, termasuk laporan HTML. Setelah build, Anda membuka tab Artifacts dan melihat laporan yang dirender di browser Anda. Panduan laporan pengujian Apidog CLI menjelaskan format CLI, HTML, dan JSON secara lebih mendalam.

Alur kerja

workflows:
  test-api:
    jobs:
      - api-tests

Alur kerja ini menjalankan job api-tests pada setiap pendorongan. Anda dapat menambahkan filter untuk membatasinya pada branch tertentu, atau menambahkan job lain yang berjalan sebelum atau sesudahnya. Untuk satu job pengujian, blok minimal ini sudah cukup.

Jalankan pengujian hanya pada branch utama

Anda mungkin tidak ingin seluruh rangkaian API berjalan pada setiap branch fitur. Tambahkan filter branch ke alur kerja:

workflows:
  test-api:
    jobs:
      - api-tests:
          filters:
            branches:
              only:
                - main
                - develop

Sekarang job hanya berjalan pada pendorongan ke main dan develop. Branch lain akan dilewati, yang membuat waktu build Anda terfokus pada branch yang siap dirilis.

Gunakan Konteks alih-alih variabel proyek

Jika beberapa repositori berbagi satu token Apidog, sebuah Konteks menyimpannya di satu tempat. Buat Konteks di Pengaturan Organisasi, tambahkan variabel Anda di sana, lalu referensikan:

workflows:
  test-api:
    jobs:
      - api-tests:
          context:
            - apidog-secrets

Job kini membaca APIDOG_ACCESS_TOKEN dan sisanya dari Konteks apidog-secrets. Putar token sekali, dan setiap proyek akan menggunakan nilai baru.

Eksekusi berbasis data dan opsi lainnya

CLI memiliki lebih banyak flag daripada yang digunakan dalam panduan ini. Dua di antaranya penting untuk diketahui dalam CI.

Anda dapat mengulang skenario di seluruh baris data pengujian dengan -d dan -n:

apidog run \
  --access-token $APIDOG_ACCESS_TOKEN \
  -t $APIDOG_TEST_SCENARIO_ID \
  -e $APIDOG_ENVIRONMENT_ID \
  -d ./data/users.csv \
  -r cli,junit \
  --out-dir ./reports

Flag -d mengambil jalur file CSV atau JSON, atau ID set data tersimpan numerik, dan menjalankan skenario sekali per baris. Panduan pengujian berbasis data menunjukkan cara menyusun file-file tersebut.

Anda juga dapat mengontrol bagaimana eksekusi menangani kegagalan dengan --on-error, yang menerima continue, end, atau ignore. Dan untuk proyek yang menggunakan branch Apidog, --project--branchmenargetkan branch tertentu. Untuk mendorong gambaran umum laporan ke cloud Apidog, tambahkan --upload-report sebagai flag biasa.

Bagaimana ini sesuai dengan alur kerja Apidog

Inti dari Apidog CLI adalah Anda tidak menulis atau memelihara kode pengujian. Anda membangun skenario pengujian dari baris perintah atau di pembuat pengujian visual, menetapkan pernyataan pada kode status dan badan respons, lalu menyimpannya. CI kemudian menjalankan skenario yang persis sama itu.

Karena skenario tersimpan dalam proyek Apidog Anda, tim Anda mengedit pengujian di satu tempat. Konfigurasi CI jarang berubah; itu hanya memanggil apidog run. Ketika seseorang menambahkan pernyataan di aplikasi, build CircleCI berikutnya akan mengambilnya tanpa mengedit YAML.

Itu menjaga pemisahan yang bersih. Apidog memiliki apa yang diuji. CircleCI memiliki kapan dan di mana itu berjalan. Jika Anda ingin membandingkan CircleCI dengan runner lain untuk jenis pekerjaan ini, rangkuman alat integrasi berkelanjutan terbaik untuk tim API menjelaskan komprominya.

Siap menempatkan rangkaian API Anda di setiap pendorongan? Unduh Apidog, buat skenario pengujian, dan letakkan konfigurasi di atas ke repo Anda.

button

Pertanyaan yang Sering Diajukan

Apa itu CircleCI?

CircleCI adalah platform integrasi dan pengiriman berkelanjutan berbasis cloud. Ia terhubung ke repositori Git Anda, membaca file .circleci/config.yml, dan secara otomatis menjalankan langkah-langkah build, test, dan deploy setiap kali Anda mendorong kode. Ini menghilangkan kebutuhan untuk menjalankan langkah-langkah tersebut secara manual di mesin Anda sendiri.

Untuk apa CircleCI digunakan?

Tim menggunakan CircleCI untuk mengotomatiskan pengujian dan deployment. Tugas umum meliputi kompilasi kode, menjalankan pengujian unit dan integrasi, memeriksa kontrak API, membangun citra Docker, dan mengirimkan rilis ke staging atau produksi. Dalam panduan ini, tugasnya menjalankan pengujian API Apidog CLI pada setiap pendorongan.

Apakah CircleCI gratis?

CircleCI memiliki paket gratis yang mencakup alokasi bulanan kredit build, yang cukup untuk proyek kecil dan repo pribadi. Tim yang lebih besar yang membutuhkan lebih banyak konkurensi, waktu build yang lebih lama, atau mesin yang lebih besar beralih ke paket Performance dan Scale berbayar. Periksa halaman harga CircleCI saat ini untuk batasan yang tepat.

Apakah CircleCI sumber terbuka (open source)?

Tidak, CircleCI adalah produk komersial yang di-host, bukan sumber terbuka. Anda mengkonfigurasinya melalui file YAML dan menjalankannya di infrastruktur CircleCI atau runner yang di-host sendiri. Jika Anda memerlukan server CI yang sepenuhnya sumber terbuka, Jenkins adalah alternatif umum, yang dibahas dalam perbandingan CircleCI vs Jenkins.

Bagaimana cara kerja CircleCI?

Ketika Anda mendorong (push) sebuah commit, CircleCI mendeteksi perubahan, membaca .circleci/config.yml, dan memutar eksekutor yang Anda definisikan, seperti kontainer Docker cimg/node. Ia menjalankan setiap langkah dalam job Anda secara berurutan, lalu melaporkan hasilnya kembali ke penyedia Git Anda. Alur kerja (workflows) memungkinkan Anda untuk merangkai dan memparalelkan job. Untuk gambaran yang lebih besar tentang bagaimana ini cocok dalam pipeline pengiriman, lihat panduan Apa itu CI/CD.

Mengembangkan API dengan Apidog

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