DEV Community

Cover image for Cara Menjadwalkan Tes API Otomatis di Apidog (Cloud, Runner, dan CLI)
Walse
Walse

Posted on • Originally published at apidog.com

Cara Menjadwalkan Tes API Otomatis di Apidog (Cloud, Runner, dan CLI)

Serangkaian pengujian yang berhasil hanya berguna jika tetap berhasil. Alur checkout mungkin berfungsi hari ini, tetapi perubahan dependensi yang merusak pada pukul 2 pagi, sertifikat yang kedaluwarsa saat akhir pekan, atau konfigurasi yang bergeser dapat menjatuhkan endpoint pembayaran tanpa diketahui. Jalankan pengujian API secara terjadwal agar Anda menerima sinyal kegagalan lebih dulu, bukan keluhan pelanggan.

Coba Apidog hari ini

Apidog menyediakan fitur Tugas Terjadwal untuk menjalankan skenario pengujian API secara otomatis. Anda cukup memilih skenario yang sudah dibuat, menentukan frekuensi, memilih mesin eksekusi, lalu menghubungkan notifikasi kegagalan.

Jika Anda baru mulai menjalankan pemeriksaan otomatis terhadap endpoint langsung, baca pengantar tentang pemantauan API. Untuk detail UI terbaru, gunakan dokumentasi Tugas Terjadwal Apidog.

Catatan: Tugas Terjadwal saat ini masih berstatus Beta. Jumlah eksekusi terjadwal yang tersedia bergantung pada paket akun Anda.

Apa yang dilakukan Tugas Terjadwal?

Tugas Terjadwal di Apidog menjalankan satu atau lebih Skenario Pengujian secara berulang. Contoh penggunaan yang umum:

  • regresi API inti setiap malam;
  • smoke test staging setiap beberapa jam;
  • pemeriksaan kesehatan layanan saat akhir pekan;
  • verifikasi alur checkout, autentikasi, atau pembayaran.

Satu tugas menyimpan konfigurasi berikut:

  • skenario yang dijalankan;
  • lingkungan target;
  • frekuensi eksekusi;
  • Runner yang digunakan;
  • penerima notifikasi ketika terjadi kegagalan.

Fitur ini bukan scraper terjadwal. Anda tidak perlu membuat selector halaman atau aturan crawling. Tugas Terjadwal menjalankan skenario pengujian API yang sudah ada, termasuk assertion, request berantai, ekstraksi variabel, dan data pengujian. Outputnya adalah laporan lulus/gagal untuk kontrak API Anda.

Prasyarat: konfigurasi Runner yang di-host sendiri

Sebelum membuat jadwal, siapkan Runner yang di-host sendiri. Runner adalah mesin yang mengeksekusi rangkaian pengujian.

Ketika jadwal aktif, Apidog tidak mengirim request dari aplikasi desktop Anda. Request dikirim dari Runner yang dipilih. Runner dapat berupa:

  • server CI yang selalu aktif;
  • VM khusus;
  • server internal;
  • mesin yang memiliki akses ke VPC, VPN, atau jaringan privat API Anda.

Saat ini, pilihan Apidog Cloud masih ditandai sebagai “segera hadir”. Gunakan Runner yang di-host sendiri untuk eksekusi terjadwal.

Perhatikan konteks jaringan Runner. Hasil pengujian dapat berbeda dari laptop Anda karena faktor seperti:

  • lokasi atau region Runner;
  • VPN perusahaan;
  • firewall dan subnet privat;
  • aturan allowlist IP;
  • DNS atau konfigurasi proxy.

Untuk pemantauan yang realistis, letakkan Runner di jaringan yang merepresentasikan jalur akses pengguna atau layanan Anda.

Langkah demi langkah: membuat Tugas Terjadwal

Contoh berikut membuat regresi malam hari untuk API e-commerce yang mencakup registrasi pengguna, katalog produk, keranjang, dan checkout dengan Stripe.

1. Buka Tugas Terjadwal

Di klien Apidog:

  1. Buka modul Pengujian.
  2. Pada pohon folder Pengujian, pilih Tugas Terjadwal.
  3. Gunakan halaman ini untuk melihat, mengaktifkan, menonaktifkan, dan mengelola semua jadwal dalam proyek.

2. Buat tugas baru

Klik + Baru untuk membuat tugas terjadwal.

Gunakan nama yang menjelaskan tujuan dan targetnya. Contoh:

Regresi malam - Produksi
Smoke test - Staging - 6 jam
Checkout API - Produksi - Akhir pekan
Enter fullscreen mode Exit fullscreen mode

Tambahkan deskripsi singkat agar tim memahami cakupan tugas tanpa perlu membuka konfigurasinya.

Jika jumlah tugas mulai banyak, buat folder untuk memisahkan tugas berdasarkan:

  • lingkungan: staging dan produksi;
  • domain layanan: autentikasi, katalog, checkout;
  • jenis pemeriksaan: smoke test dan regresi penuh.

3. Pilih Skenario Pengujian

Di bagian Skenario Pengujian, pilih satu atau beberapa skenario yang ingin dijalankan.

Untuk alur e-commerce, pilih misalnya:

  1. Daftar dan masuk
  2. Jelajahi dan tambahkan ke keranjang
  3. Checkout dengan kartu uji Stripe

Setiap skenario dapat memiliki konfigurasi eksekusi sendiri, seperti:

  • lingkungan;
  • data pengujian;
  • jumlah iterasi;
  • penundaan;
  • penyimpanan request dan response.

Jika seluruh skenario harus memakai konfigurasi yang sama, aktifkan Gunakan konfigurasi eksekusi yang sama. Opsi ini berguna untuk menjaga konsistensi pada rangkaian besar.

Untuk praktik yang lebih mudah dipelihara, gunakan satu lingkungan per tugas. Misalnya:

  • tugas produksi hanya menggunakan environment produksi;
  • tugas staging hanya menggunakan environment staging.

Walaupun satu tugas dapat mencampur target, konfigurasi tersebut biasanya lebih sulit ditelusuri saat terjadi kegagalan.

4. Atur siklus eksekusi

Tentukan frekuensi pada bidang Siklus Berjalan atau Mode Berjalan. Labelnya dapat berbeda di UI, tetapi keduanya mengatur jadwal eksekusi.

Contoh ritme yang didokumentasikan:

  • setiap Minggu pukul 23.00;
  • setiap 6 jam;
  • setiap 8 jam.

Rekomendasi praktis:

Kebutuhan Jadwal yang sesuai
Regresi penuh produksi Setiap malam
Smoke test staging Setiap 6 jam
Pemeriksaan kesehatan ringan Lebih sering, sesuai batas paket
Verifikasi sebelum hari kerja Minggu malam

Hindari jadwal terlalu agresif jika API atau environment pengujian memiliki keterbatasan kapasitas.

5. Pilih Runner

Pada bidang Runner, pilih Runner yang di-host sendiri.

Di beberapa layar, bidang ini dapat muncul sebagai:

  • Berjalan di
  • Jalankan Pada
  • Berjalan Pada

Semua label tersebut merujuk ke mesin yang menjalankan skenario.

Pilih Runner yang sesuai dengan target API. Contoh:

Runner: prod-vpc-runner
Target: API produksi di dalam VPC
Enter fullscreen mode Exit fullscreen mode

Karena semua request dijalankan dari Runner, pilih mesin yang memiliki akses jaringan yang benar dan stabil.

6. Aktifkan notifikasi

Aktifkan Notifikasi agar kegagalan tidak luput dari perhatian.

Saluran notifikasi yang didukung meliputi:

  • Slack;
  • Teams;
  • Webhook;
  • Jenkins;
  • Email.

Untuk email, Anda dapat memilih anggota proyek atau memasukkan alamat non-anggota, misalnya inbox bersama atau rotasi on-call.

Pilih kapan notifikasi dikirim:

  • Setelah setiap eksekusi: berguna saat peluncuran atau investigasi masalah.
  • Hanya pada kegagalan: pilihan yang lebih tenang untuk regresi rutin.

Untuk tugas malam hari yang stabil, gunakan notifikasi hanya saat gagal. Untuk jadwal yang baru dibuat, Anda mungkin ingin sementara mengaktifkan notifikasi setiap eksekusi untuk memastikan Runner dan jadwal benar-benar berjalan.

7. Simpan dan aktifkan

Simpan konfigurasi, lalu aktifkan tugas.

Tugas akan berjalan sesuai jadwal yang Anda tentukan. Anda dapat menonaktifkannya tanpa menghapus konfigurasi, misalnya saat:

  • maintenance terencana;
  • migrasi database;
  • perubahan infrastruktur;
  • periode deploy yang menghasilkan kegagalan yang sudah diperkirakan.

8. Periksa Riwayat Eksekusi

Setelah eksekusi selesai, Runner mengunggah hasilnya kembali ke server.

Buka Tugas Terjadwal → Riwayat Eksekusi untuk memeriksa:

  • waktu eksekusi;
  • status lulus atau gagal;
  • assertion yang gagal;
  • detail request dan response;
  • riwayat kegagalan.

Gunakan halaman ini sebagai titik awal debugging setelah menerima alert dari Slack, email, atau webhook.

Pengaturan lanjutan

Gunakan cakupan variabel sekecil mungkin

Apidog menyediakan beberapa tingkat berbagi variabel:

  1. Hanya dalam skenario pengujian saat ini

    Variabel hanya tersedia untuk skenario tersebut.

  2. Di seluruh skenario pengujian dalam tugas terjadwal saat ini

    Skenario dalam tugas yang sama dapat membaca nilai bersama.

  3. Di seluruh tugas terjadwal dalam folder tugas terjadwal saat ini

    Cakupan terluas untuk tugas yang dikelompokkan dalam folder yang sama.

Gunakan cakupan paling kecil yang masih memenuhi kebutuhan alur Anda. Ini membantu mencegah token, ID, atau data sementara terbaca oleh skenario yang tidak terkait.

Aktifkan persistensi variabel bila diperlukan

Jika nilai harus bertahan antar-eksekusi, aktifkan opsi Pertahankan nilai variabel pada halaman desain Skenario Pengujian.

Contoh kasus:

  • menyimpan ID pesanan dari eksekusi sebelumnya;
  • memakai token yang diperbarui;
  • melanjutkan alur yang membutuhkan state dari eksekusi sebelumnya.

Tanpa opsi ini, setiap eksekusi terjadwal dimulai dari awal.

Kelompokkan tugas dengan folder

Gunakan folder untuk mengelompokkan jadwal berdasarkan layanan atau lingkungan:

Tugas Terjadwal/
├── Produksi/
│   ├── Smoke test - 6 jam
│   └── Regresi malam
├── Staging/
│   ├── Smoke test - 6 jam
│   └── Verifikasi pra-rilis
└── Pembayaran/
    └── Checkout API - malam
Enter fullscreen mode Exit fullscreen mode

Struktur ini juga membantu saat Anda menggunakan cakupan variabel tingkat folder.

Periksa batas paket sebelum meningkatkan frekuensi

Jumlah eksekusi terjadwal bergantung pada langganan Anda. Periksa detail paket sebelum mengatur pemeriksaan setiap jam atau menjalankan banyak tugas paralel.

Untuk skenario yang lebih kompleks, baca panduan tentang tugas terjadwal lanjutan dan logika kondisional dalam skenario pengujian API. Jika tim Anda baru memulai pemeriksaan tanpa pengawasan, lihat juga eksekusi pengujian API malam hari di CI.

Otomatiskan dengan Apidog CLI

UI Tugas Terjadwal cocok untuk konfigurasi langsung di Apidog. Alternatifnya, gunakan Apidog CLI dan biarkan cron atau CI menangani jadwalnya.

CLI tidak menyediakan perintah jadwal bawaan. Penjadwalan dilakukan oleh alat eksternal seperti cron atau GitHub Actions.

npm install -g apidog-cli
apidog login --with-token <YOUR_TOKEN>
apidog run --access-token $APIDOG_ACCESS_TOKEN -t <SCENARIO_ID> -e <ENV_ID> -r cli,junit
Enter fullscreen mode Exit fullscreen mode

Parameter utama:

Parameter Fungsi
-t ID Skenario Pengujian
-e ID lingkungan
-r Reporter: cli, html, atau junit

Untuk menjalankan skenario setiap malam menggunakan cron, tambahkan entri berikut:

0 2 * * * cd /srv/api-tests && apidog run --access-token $APIDOG_ACCESS_TOKEN -t 4471 -e 88 -r junit >> run.log 2>&1
Enter fullscreen mode Exit fullscreen mode

Contoh tersebut menjalankan skenario setiap hari pukul 02.00 dan menyimpan output ke run.log.

Anda juga dapat menjalankannya melalui GitHub Actions terjadwal. Laporan JUnit dapat diteruskan ke dasbor pipeline yang sudah digunakan tim. Baca panduan Apidog CLI di pipeline CI/CD untuk konfigurasi lengkap, termasuk cron dan pemicu jadwal GitHub Actions.

FAQ

Bisakah saya menjalankan pengujian terjadwal di Apidog Cloud hari ini?

Belum. Apidog Cloud masih ditandai sebagai “segera hadir”. Saat ini, gunakan Runner yang di-host sendiri sebagai mesin eksekusi.

Seberapa sering tugas terjadwal dapat berjalan?

Frekuensinya fleksibel, misalnya setiap 6 jam atau setiap Minggu pukul 23.00. Namun, jumlah total eksekusi terjadwal dibatasi oleh paket langganan Anda. Periksa detail paket sebelum mengasumsikan batas tertentu.

Bagaimana cara menerima notifikasi hanya ketika pengujian gagal?

Pada pengaturan Notifikasi tugas:

  1. Pilih opsi hanya kegagalan.
  2. Tambahkan saluran seperti Slack, Teams, Webhook, Jenkins, atau Email.
  3. Simpan dan aktifkan tugas.

Pendekatan ini menjaga saluran notifikasi tetap tenang saat eksekusi berhasil. Lengkapi regresi penuh dengan pemeriksaan kesehatan API yang ringan untuk sinyal keaktifan yang lebih cepat.

Mengapa hasil terjadwal berbeda dari pengujian lokal?

Karena request dikirim dari Runner, bukan dari laptop Anda. Perbedaan jaringan, region, VPN, firewall, DNS, atau proxy dapat memengaruhi respons API.

Mengapa variabel saya diatur ulang pada setiap eksekusi?

Aktifkan Pertahankan nilai variabel di halaman desain Skenario Pengujian. Tanpa opsi ini, setiap eksekusi terjadwal dimulai dengan state baru.

Ringkasan

Pengujian API terjadwal membuat kegagalan terlihat lebih cepat:

  1. Buat skenario pengujian.
  2. Daftarkan Runner yang di-host sendiri.
  3. Buat Tugas Terjadwal.
  4. Pilih skenario, environment, dan Runner.
  5. Atur frekuensi eksekusi.
  6. Hubungkan Slack, email, atau webhook untuk alert kegagalan.
  7. Gunakan Riwayat Eksekusi untuk debugging.

Jika Anda ingin menjalankan skenario yang sama dari pipeline, gunakan Apidog CLI bersama cron atau CI. Unduh Apidog untuk menyiapkan rangkaian regresi terjadwal pertama Anda.

Top comments (0)