Apidog Docs
🇮🇩 Bahasa Indonesia
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇮🇩 Bahasa Indonesia
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
🇮🇩 Bahasa Indonesia
  • 🇺🇸 English
  • 🇯🇵 日本語
  • 🇪🇸 Español
  • 🇰🇷 한국인
  • 🇨🇳 简体中文
  • 🇵🇹 Português (Portugal)
  • 🇮🇩 Bahasa Indonesia
  • 🇧🇷 Português (Brasil)
  • 🇻🇳 Tiếng Việt
  • 🇨🇳 繁體中文
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
HomeLearning Center
Support CenterAPI ReferencesDownloadChangelog
  1. Skenario pengujian
  • Pusat Pembelajaran Apidog
  • Memulai
    • Pengantar Apidog
    • Konsep Dasar di Apidog
    • Menavigasi Apidog
    • Mulai cepat
      • Ikhtisar
      • Membuat Endpoint
      • Membuat Permintaan
      • Menambahkan Aservi
      • Membuat Skenario Pengujian
      • Membagikan Dokumentasi API
      • Jelajahi Lebih Lanjut
    • Migrasi ke Apidog
      • Ikhtisar
      • Impor Manual
      • Impor Terjadwal (Ikat Sumber Data)
      • Opsi Impor
      • Ekspor Data
      • Impor dari
        • Impor dari Postman
        • Impor Spesifikasi OpenAPI
        • Impor cURL
        • Impor Markdown
        • Impor dari Insomnia
        • Impor dari apiDoc
        • Impor File .har
        • Impor WSDL
  • Data API mock
    • Ikhtisar
    • Smart Mock
    • Mock Kustom
    • Urutan Prioritas Mock
    • Mock Scripts
    • Cloud Mock
    • Mock Runner Self-Hosted
    • Bahasa Mock (Lokal)
  • Akun dan preferensi
    • Pengaturan Akun
    • Membuat Token Akses OpenAPI
    • Notifikasi
    • Pengaturan Bahasa
    • Tombol Pintas
    • Konfigurasi Proxy Jaringan
    • Mencadangkan Data
    • Memperbarui Apidog
    • Menghapus Akun
    • Fitur Eksperimental
  • Kirim request
    • Ikhtisar
    • Debugging SSE
    • MCP Client
    • Socket.IO
    • WebSocket
    • Webhook
    • SOAP atau WebService
    • GraphQL
    • gRPC
    • Gunakan Agen Proksi Permintaan untuk Debugging
    • Buat request
      • Riwayat Permintaan
      • Dasar-Dasar Permintaan
      • Parameter dan Body
      • Header Permintaan
      • Pengaturan Permintaan
      • Debug Permintaan
      • Menyimpan Permintaan sebagai Endpoint
      • HTTP/2
    • Autentikasi dan otorisasi
      • Ikhtisar
      • Sertifikat CA dan Klien
      • Jenis Otorisasi
      • Digest Auth
      • OAuth 1.0
      • OAuth 2.0
      • Autentikasi Hawk
      • Kerberos
      • NTLM
      • Akamai EdgeGrid
    • Respons dan cookie
      • Melihat Respons API
      • Mengelola Cookie
      • Ikhtisar
  • Mengembangkan dan men-debug API
    • Ikhtisar
    • Membuat Permintaan
    • Mengirim Permintaan
    • Kasus Debugging
    • Kasus Pengujian
    • Nilai Dinamis
    • Memvalidasi Respons
    • Design-First vs Request-First
    • Menghasilkan Kode
    • Environment dan variabel
      • Ikhtisar
      • Menggunakan Variabel
      • Manajemen Lingkungan
    • Rahasia vault
      • Gambaran Umum
      • HashiCorp Vault
      • Azure Key Vault
      • AWS Secrets Manager
    • Modul nilai dinamis
      • Airline
      • Animal
      • Warna
      • Commerce
      • Perusahaan
      • Database
      • Tipe Data
      • Tanggal
      • Keuangan
      • Food
      • Git
      • Hacker
      • Helpers
      • Image
      • Internet
      • Lokasi
      • Lorem
      • Musik
      • Number
      • Orang
      • Telepon
      • Sains
      • String
      • System
      • Vehicle
      • Word
    • Pra dan pascaprosesor
      • Ikhtisar
      • Aservi
      • Ekstrak Variabel
      • Tunggu
      • Keamanan
      • Operasi basis data
        • Ikhtisar
        • MySQL
        • MongoDB
        • Redis
        • Oracle Client
      • Menggunakan skrip
        • Ikhtisar
        • Skrip Pra-Pemroses
        • Skrip Post-processor
        • Skrip Publik
        • Referensi Skrip Postman
        • Memanggil Bahasa Pemrograman Lain
        • Menggunakan Pustaka JS
        • Memvisualisasikan Respons
        • Contoh skrip
          • Skrip Aservi
          • Menggunakan Variabel
          • Memodifikasi Permintaan
          • Contoh Lainnya
    • Debugging API
      • AI Agent Debugger
      • A2A Debugger
  • Mendesain API
    • Ikhtisar
    • Membuat Proyek API Baru
    • Dasar-Dasar Endpoint
    • Panduan Desain API
    • Modul
    • Mengonfigurasi Beberapa Contoh Body Permintaan
    • Komponen
    • Field Umum
    • Parameter Global
    • Riwayat Perubahan Endpoint
    • Komentar
    • Manajemen Endpoint Batch
    • Custom Protocol API
    • Mode Spec-first (Beta)
    • Skema keamanan
      • Gambaran Umum
      • Membuat Skema Keamanan
      • Menggunakan Skema Keamanan
      • Skema Keamanan dalam Dokumentasi Online
    • Fitur lanjutan
      • Bidang Endpoint Kustom
      • Skenario Pengujian Terkait
      • Status Endpoint
      • Tampilan Daftar Parameter
      • Identifikasi Unik Endpoint
    • Schemas
      • Gambaran Umum
      • Membuat Schema Baru
      • Membangun Schema
      • Hasilkan Skema dari JSON dan Sebagainya
      • oneOf, allOf, anyOf
      • Menggunakan Discriminator
  • Pengujian API
    • Gambaran Umum
    • Skenario pengujian
      • Membuat Skenario Pengujian
      • Meneruskan Data Antar Permintaan
      • Kondisi Kontrol Alur
      • Sinkronisasi Data dari Endpoint dan Kasus Endpoint
      • Mengimpor Endpoint dan Kasus Endpoint dari Proyek Lain
      • Mengekspor Skenario Pengujian
    • Laporan pengujian
      • Laporan Pengujian
    • Jalankan skenario pengujian
      • Menjalankan Skenario Pengujian
      • Menjalankan Skenario Pengujian secara Batch
      • Pengujian Berbasis Data
      • Data Pengujian Bersama
      • Tugas Terjadwal
      • Mengelola Lingkungan Runtime API dari Proyek Lain
    • Suite pengujian
      • Ikhtisar
      • Membuat Rangkaian Pengujian
      • Mengorkestrasi Test Suite
      • Menjalankan Rangkaian Pengujian Secara Lokal
      • Menjalankan Suite Pengujian Melalui CLI
      • Tugas terjadwal
    • Uji API
      • Pengujian Integrasi
      • Pengujian Performa
      • Pengujian End-to-End
      • Pengujian Regresi
      • Pengujian Kontrak
    • Apidog CLI
      • Ikhtisar
      • Menginstal dan Menjalankan Apidog CLI
      • Opsi Apidog CLI
    • CI/CD
      • Ikhtisar
      • Integrate with Github Actions
      • Integrasikan dengan Gitlab
      • Integrate with Jenkins
      • Memicu Pengujian melalui Git Commit
  • Publikasikan dokumentasi API
    • Gambaran Umum
    • Teknologi API yang Didukung
    • Berbagi Cepat
    • Melihat Dokumentasi API
    • Dokumentasi Markdown
    • Menerbitkan Situs Dokumentasi
    • Halaman Login Kustom
    • Tata Letak Kustom
    • CSS, JavaScript, HTML Kustom
    • Domain Kustom
    • Fitur AI
    • Pengaturan SEO
    • Pengaturan lanjutan
      • Pencarian Dokumentasi
      • Proxy CORS
      • Mengintegrasikan Google Analytics
      • Pengaturan Pohon Folder
      • Pengaturan Visibilitas
      • Menyematkan Nilai dalam URL Dokumentasi
    • Versi API
      • Gambaran Umum
      • Membuat Versi API
      • Menerbitkan Versi API
      • Membagikan Endpoint dengan Versi API
  • Branch
    • Ikhtisar
    • Membuat Cabang Sprint
    • Menguji API dalam Branch
    • Merancang API dalam Cabang
    • Menggabungkan Cabang Sprint
    • Mengelola Cabang Sprint
    • AI Branch (Beta)
  • Fitur AI
    • Ikhtisar
    • Mengaktifkan Fitur AI
    • Membuat Kasus Pengujian
    • Memodifikasi Skema dengan AI
    • Pemeriksaan Kepatuhan Endpoint
    • Pemeriksaan Kelengkapan Dokumentasi API
    • Penamaan Field Berbasis AI
    • Tanya Jawab Umum
  • Server MCP Apidog
    • Ikhtisar
    • Hubungkan Proyek Apidog ke AI
    • Menghubungkan Dokumentasi yang Dipublikasikan ke AI
    • Menghubungkan File OpenAPI ke AI
  • Praktik terbaik
    • Menangani Tanda Tangan API
    • Mengakses API yang Dilindungi OAuth 2.0
    • Alur Kerja Kolaborasi
    • Mengelola Status Autentikasi
  • Ruang offline
    • Gambaran Umum
  • Administrasi
    • Mengelola proyek
      • Mengelola Proyek
      • Pengaturan Notifikasi
      • Mengelola Anggota Proyek
      • Resource proyek
        • Koneksi Database
        • Koneksi Git
    • Mengelola tim
      • Mengelola Tim
      • Mengelola Anggota Tim
      • Aktivitas Tim
      • Peran & Izin Tim
      • Resource tim
        • General Runner
        • Variabel Tim
        • Request Proxy Agent
      • Kolaborasi real-time
        • Kolaborasi Tim
    • Checklist onboarding
      • Konsep Dasar
      • Panduan Onboarding
    • Mengelola organisasi
      • Mengelola Organisasi
      • Peran & Izin Organisasi
      • Manajemen paket
        • Manajer Penagihan di Organisasi
      • Single Sign-On (SSO)
        • Ikhtisar SSO
        • Mengonfigurasi Microsoft Entra ID
        • Mengonfigurasi Okta
        • Mengonfigurasi SSO untuk Organisasi
        • Mengelola Akun Pengguna
        • Memetakan Grup ke Tim
      • Provisioning SCIM
        • Pengantar Provisioning SCIM
        • Microsoft Entra ID
        • Okta
      • Resource organisasi
        • Self-Hosted Runner
  • Apidog Europe
    • Apidog Europe
  • Penagihan
    • Ikhtisar
    • Kredit
    • Meningkatkan Paket Anda
    • Metode Pembayaran Alternatif
    • Mengelola Langganan
    • Memindahkan Tim Berbayar ke Organisasi
  • Add-on
    • API Hub
    • Plugin Apidog Intellij IDEA
    • Ekstensi browser
      • Chrome
      • Microsoft Edge
    • Proxy request
      • Proksi Permintaan di Web
      • Proxy Permintaan dalam Dokumen Bersama
      • Proxy Permintaan di Client
  • Data dan keamanan
    • Penyimpanan dan Keamanan Data
    • Privasi dan Keamanan Data Pengguna
    • Perutean Permintaan dan Keamanan Data
  • Referensi
    • Pendekatan API Design-First
    • Ekstensi Spesifikasi OpenAPI Apidog
    • JSONPath
    • XPath
    • Ekspresi Reguler
    • JSON Schema
    • Format File CSV
    • Menginstal Lingkungan Java
    • Lingkungan Deployment Runner
    • Sintaks Markdown Apidog
    • Ekstensi Swagger Apidog
      • Gambaran Umum
      • x-apidog-folder
      • x-apidog-status
      • x-apidog-name
      • x-apidog-maintainer
    • Ekstensi JSON Schema Apidog
      • Ikhtisar
      • x-apidog-mock
      • x-apidog-orders
      • x-apidog-enum
  • Pusat dukungan
  1. Skenario pengujian

Kondisi Kontrol Alur

Anda dapat menambahkan kondisi kontrol alur (loop, kondisi, tunggu, pengelompokan, dll.) ke skenario pengujian Anda. Hal ini meningkatkan pemanfaatan konfigurasi skenario/proses pengujian yang lebih kompleks, yang pada akhirnya menyelesaikan tantangan pengujian pada skenario yang rumit melalui fitur pengujian otomatis.
Kondisi kontrol alur

Loop For#

Ketika Anda perlu mengirim satu permintaan beberapa kali secara berurutan, menggunakan loop for adalah pendekatan yang efisien. Berikut cara menggunakan loop for secara efektif dalam skenario pengujian Apidog Anda:
Mengatur jumlah iterasi: Tentukan berapa kali loop harus berjalan. Ini dapat berupa angka tetap atau {{variable}}.
Menambahkan permintaan: Di dalam loop for, Anda dapat menyertakan satu atau beberapa permintaan, serta loop lain atau cabang bersyarat. Fleksibilitas ini memungkinkan skenario pengujian yang kompleks ketika beberapa tindakan perlu diuji secara berurutan.
Kondisi Break If: Anda dapat menambahkan kondisi Break if ke loop for. Ini akan segera menghentikan loop jika kondisi terpenuhi. Anda dapat menyeret dan menyesuaikan posisi Break if atau bahkan menambahkan beberapa kondisi Break if untuk menangani berbagai skenario.
Penanganan On Error: Kelola kesalahan dengan menambahkan kondisi On Error ke loop. Jika terjadi kesalahan, tindakan yang ditentukan akan dipicu:
Ignore: Loop berlanjut dengan permintaan berikutnya.
Continue: Melewati permintaan yang tersisa dalam siklus saat ini dan berpindah ke iterasi berikutnya.
Break execution: Menghentikan loop dan melanjutkan dengan permintaan berikutnya di luar loop.
End execution: Menghentikan seluruh skenario pengujian sepenuhnya.
Kondisi On Error bersifat tetap di awal loop dan tidak dapat dipindahkan.

Menggunakan Indeks Loop dalam Permintaan#

Indeks loop saat ini dapat digunakan sebagai variabel lokal di dalam permintaan untuk menyesuaikan parameter atau body permintaan secara dinamis. Untuk menggunakannya:
1
Tambahkan loop for dan sertakan sebuah permintaan di dalam loop.
2
Klik ikon tongkat ajaib 🪄 pada parameter permintaan dan pilih "Retrieve pre-step data."
Fitur "Retrieve pre-step data" hanya tersedia di modul "Tests" dan tidak tersedia di modul "APIs".
Saat menggunakan "Retrieve pre-step data", nilai hanya dapat diperoleh ketika seluruh skenario pengujian dijalankan bersama; nilai tersebut tidak dapat diakses saat menjalankan langkah individual.
3
Pilih opsi loop, biasanya diberi label "Loop n times."
4
Pilih "Current loop index."
5
Anda akan memperoleh variabel dinamis seperti {{$.5.index}}. Klik "Insert", dan variabel tersebut akan diganti saat runtime dengan indeks loop saat ini seperti 0 atau 5.
Indeks loop selalu dimulai dari 0.

Loop ForEach#

Ketika Anda memiliki array yang berisi beberapa elemen (daftar konten tertentu atau daftar yang diperoleh dari langkah sebelumnya), dan Anda perlu melakukan operasi yang sama pada setiap item dalam daftar (misalnya, pertama-tama memperoleh daftar produk, lalu menambahkan setiap produk dalam daftar ke keranjang belanja), Anda perlu menggunakan loop ForEach.
Dalam loop ForEach, operasi di dalam loop akan dieksekusi untuk setiap elemen dalam array.
Perbedaannya dari loop For adalah Anda tidak perlu memikirkan jumlah iterasi; Anda hanya perlu berfokus pada konten array loop.
Mengatur array loop: Dalam loop ForEach, Anda perlu menetapkan array sebagai objek loop. Anda dapat menggunakan variabel atau memasukkan array secara manual, seperti ["a","b","c"].
Menambahkan permintaan: Di dalam loop ForEach, Anda dapat menambahkan satu atau beberapa permintaan, atau menambahkan loop lain atau cabang bersyarat, dll.
Kondisi Break If dan penanganan On Error: Anda dapat menambahkan Break if dan On error ke loop ForEach, konsisten dengan loop for yang disebutkan di atas.
TIP
Dalam pengaturan lanjutan Loop ForEach, Anda juga dapat menyesuaikan opsi penanganan pengecualian untuk Break If dan On Error. Untuk informasi lebih lanjut, lihat Aturan Penilaian.

Contoh Penggunaan ForEach#

Pertimbangkan dua endpoint: satu untuk mengambil daftar informasi hewan peliharaan dan satu lagi untuk mengambil detail satu hewan peliharaan. Jika Anda perlu mengambil detail hewan peliharaan yang baru-baru ini ditambahkan ke daftar, Anda dapat menyiapkan skenario ini menggunakan loop ForEach dalam pengujian otomatis Anda.
1.
Langkah pertama di luar loop ForEach adalah meminta endpoint daftar informasi hewan peliharaan untuk mengambil data daftar aktual. Biasanya, respons antarmuka ini berisi array dengan informasi dasar tentang beberapa hewan peliharaan, seperti ID dan nama hewan peliharaan.
2.
Siapkan loop ForEach dengan array sumber berupa subset dari array hewan peliharaan dari respons langkah sebelumnya.
3.
Di dalam loop, siapkan permintaan ke endpoint "Get Pet Information" dan gunakan nilai elemen dari loop ForEach untuk mengisi parameter ID dalam permintaan ini.

Menggunakan Elemen Loop dalam Permintaan#

Elemen/indeks loop saat ini dapat digunakan sebagai variabel lokal di dalam permintaan untuk menyesuaikan parameter atau body permintaan secara dinamis. Untuk menggunakannya:
1
Tambahkan loop ForEach dan sertakan sebuah permintaan di dalam loop.
2
Klik ikon tongkat ajaib pada parameter permintaan dan pilih "Retrieve pre-step data."
3
Pilih opsi loop, biasanya diberi label "Loop each element in {{array}}."
4
Pilih "Current loop element." Anda dapat menggunakan JSONPath untuk mengekstrak properti elemen.
5
Anda akan memperoleh variabel dinamis seperti {{$.17.element}}. Klik "Insert", dan variabel tersebut akan diganti saat runtime dengan elemen loop saat ini, yaitu elemen dari array loop.
TIP
Elemen Loop Saat Ini: Sistem secara otomatis mengekstrak elemen dari array yang ditentukan dalam loop ForEach dan menyimpannya dalam variabel yang ditetapkan. Pada awal setiap iterasi, variabel ini diperbarui dengan nilai elemen saat ini dari array. Jika elemennya adalah objek, Anda dapat menggunakan JSONPath untuk mengekstrak subbidang tertentu, seperti {{$.1.element.data.name}}.
Indeks Loop Saat Ini: Indeks loop saat ini disimpan dalam variabel ini. Indeks dimulai dari 0 dan bertambah 1 pada awal setiap iterasi berikutnya, yang mencerminkan indeks saat ini.

If#

Ketika Anda perlu mengirim permintaan yang berbeda berdasarkan skenario yang berbeda, Anda dapat menggunakan pernyataan If untuk menambahkan cabang bersyarat. Ketika kondisi yang ditentukan terpenuhi, langkah yang sesuai akan dieksekusi; jika tidak, langkah tersebut akan dilewati. Untuk detail yang lebih spesifik, silakan lihat Aturan Penilaian.
Mengatur pernyataan If: Pernyataan If mendukung berbagai kondisi seperti sama dengan, tidak sama dengan, berisi, tidak berisi, dll. Konstanta maupun variabel dapat digunakan di kedua sisi kondisi.
Menambahkan permintaan: Beberapa permintaan dapat ditambahkan di dalam cabang bersyarat, serta loop lain atau cabang bersyarat.
Menjalankan cabang bersyarat: Jika kondisi yang ditetapkan dalam konfigurasi terpenuhi, langkah pengujian akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Pernyataan Else: Pernyataan Else dapat ditambahkan di dalam cabang bersyarat untuk menangani skenario ketika kondisi If tidak terpenuhi.

Contoh Penggunaan If#

Seorang pemilik toko hewan peliharaan, berdasarkan status penjualan hewan peliharaan dari hari sebelumnya, perlu mengubah status penjualan hewan peliharaan menjadi "Sold" jika hewan tersebut terjual. Jika tidak (else), mereka perlu memeriksa daftar hewan peliharaan yang masih dijual.
1.
Klik tombol "Add Step" di bagian bawah dan pilih "Conditional Branching."
2.
Masukkan variabel saleStatus yang diperoleh dari respons permintaan API ke dalam kotak input setelah "If" dan pilih kondisi "equals." Terakhir, masukkan true sebagai nilai perbandingan.
3.
Arahkan kursor ke operasi percabangan bersyarat untuk melihat opsi " + Else". Klik opsi tersebut untuk menambahkan langkah "List of Pets for Sale" (jika kondisi tidak terpenuhi, yaitu untuk mengueri daftar hewan peliharaan yang masih dijual).

Aturan Penilaian#

Saat menggunakan pernyataan If dalam skenario pengujian, Anda dapat menentukan aturan bersyarat untuk mengontrol eksekusi pengujian. Jika kondisi terpenuhi, langkah yang sesuai akan berjalan; jika tidak, langkah tersebut akan dilewati. Demikian pula, dalam pengaturan Break If untuk loop ForEach dan For, Anda dapat menetapkan aturan penilaian untuk mengontrol alur eksekusi dengan lebih fleksibel.
AturanDeskripsi
EqualsMemeriksa apakah dua nilai sama.
Does not equalMemeriksa apakah dua nilai tidak sama.
ExistsMemeriksa apakah suatu bidang atau variabel ada.
Does not existMemeriksa apakah suatu bidang atau variabel tidak ada.
Less thanMemeriksa apakah satu nilai lebih kecil dari nilai lain.
Less than or equalMemeriksa apakah satu nilai lebih kecil dari atau sama dengan nilai lain.
Greater thanMemeriksa apakah satu nilai lebih besar dari nilai lain.
Greater than or equalMemeriksa apakah satu nilai lebih besar dari atau sama dengan nilai lain.
Matches with RegexMemeriksa apakah sebuah string cocok dengan ekspresi reguler yang ditentukan.
ContainsMemeriksa apakah sebuah string atau array berisi nilai yang ditentukan.
Does not containMemeriksa apakah sebuah string atau array tidak berisi nilai yang ditentukan.
Is emptyMemeriksa apakah suatu bidang, array, atau variabel kosong.
Is not EmptyMemeriksa apakah suatu bidang, array, atau variabel tidak kosong.
In ListMemeriksa apakah suatu nilai termasuk dalam List yang ditentukan.
Not in ListMemeriksa apakah suatu nilai tidak termasuk dalam List yang ditentukan.
Saat melakukan pemeriksaan bersyarat (seperti lebih besar dari, lebih besar dari atau sama dengan, sama dengan, atau tidak sama dengan), jika nilai yang dibandingkan adalah bilangan bulat atau string, sistem akan secara otomatis mengonversi string menjadi angka untuk perbandingan yang akurat. Misalnya, jika Anda membandingkan string "18" dengan angka 18, sistem akan mengonversi string "18" menjadi angka 18 sebelum membandingkannya.

Equals#

Memeriksa apakah dua nilai sama. Jika sama, kondisi terpenuhi dan langkah pengujian akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah usia pengguna yang diekstrak dari pra-langkah sama dengan 18.
Contoh Kondisi: {{$.5.response.body.data.age}} Equals 18
Efek Eksekusi Aktual: Jika nilai usia yang diekstrak dari pra-langkah adalah 18 (string akan secara otomatis dikonversi menjadi angka), langkah akan dieksekusi, seperti menampilkan informasi tertentu atau melakukan tindakan tertentu.

Does not equal#

Memeriksa apakah dua nilai tidak sama. Jika tidak sama, kondisi terpenuhi dan langkah pengujian akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah status pesanan yang diekstrak dari pra-langkah tidak sama dengan "Paid".
Contoh Kondisi: {{$.4.response.body.data.status}} Does not equal Paid
Efek Eksekusi Aktual: Jika status pesanan yang diekstrak dari pra-langkah adalah nilai lain (seperti "Pending" atau "Shipped"), langkah akan dieksekusi.

Exists#

Memeriksa apakah bidang atau variabel tertentu ada. Jika ada, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah bidang email ada dalam data pengguna yang diekstrak dari pra-langkah.
Contoh Kondisi: {{$.3.response.body.data.email}} Exists
Efek Eksekusi Aktual: Jika bidang email ada dalam data pengguna yang diekstrak dari pra-langkah, langkah akan dieksekusi.

Does not exist#

Memeriksa apakah bidang atau variabel tertentu tidak ada. Jika tidak ada, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah bidang phone tidak ada dalam data pengguna yang diekstrak dari pra-langkah.
Contoh Kondisi: {{$.2.response.body.data.phone}} Does not exist
Efek Eksekusi Aktual: Jika bidang phone tidak ada dalam data pengguna yang diekstrak dari pra-langkah, langkah akan dieksekusi.

Less Than#

Memeriksa apakah satu nilai lebih kecil dari nilai lain. Jika benar, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah stok produk yang diekstrak dari pra-langkah kurang dari 10.
Contoh Kondisi: {{$.1.response.body.data.stock}} Less Than 10
Efek Eksekusi Aktual: Jika nilai stok yang diekstrak dari pra-langkah adalah 8, kondisi terpenuhi dan langkah akan dieksekusi.

Less than or equal#

Memeriksa apakah satu nilai lebih kecil dari atau sama dengan nilai lain. Jika benar, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah usia yang diekstrak dari pra-langkah kurang dari atau sama dengan 12.
Contoh Kondisi: {{$.2.response.body.data.age}} Less than or equal 12
Efek Eksekusi Aktual: Jika nilai usia yang diekstrak dari pra-langkah adalah 10, kondisi terpenuhi dan langkah akan dieksekusi.

Greater than#

Memeriksa apakah satu nilai lebih besar dari nilai lain. Jika benar, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah jumlah pesanan yang diekstrak dari pra-langkah lebih besar dari 1000.
Contoh Kondisi: {{$.1.response.body.data.amount}} Greater than 1000
Efek Eksekusi Aktual: Jika nilai jumlah pesanan yang diekstrak dari pra-langkah adalah 1105, kondisi terpenuhi dan langkah akan dieksekusi.

Greater than or equal#

Memeriksa apakah satu nilai lebih besar dari atau sama dengan nilai lain. Jika benar, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah poin pengguna yang diekstrak dari pra-langkah lebih besar dari atau sama dengan 500.
Contoh Kondisi: {{$.3.response.body.data.points}} Greater than or equal 500
Efek Eksekusi Aktual: Jika nilai poin yang diekstrak dari pra-langkah adalah 600, kondisi terpenuhi dan langkah akan dieksekusi.

Matches with Regex#

Memeriksa apakah sebuah string cocok dengan ekspresi reguler yang ditentukan. Jika cocok, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah format email yang diekstrak dari pra-langkah sudah benar.
Contoh Kondisi: {{$.2.response.body.data.email}} Matches with Regex /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i
Efek Eksekusi Aktual: Jika format email yang diekstrak dari pra-langkah cocok dengan ekspresi reguler (misalnya, test@gmail.com), langkah akan dieksekusi.
TIP
Ekspresi reguler harus ditulis menggunakan sintaks "literal", yaitu pola diapit oleh /, dengan pengubah opsional (misalnya, g untuk pencocokan global, i untuk tidak peka huruf besar/kecil) ditambahkan di akhir. Untuk informasi lebih lanjut tentang penulisan ekspresi reguler, Anda dapat merujuk ke dokumentasi MDN.

Contains#

Memeriksa apakah sebuah string atau array berisi nilai yang ditentukan. Jika berisi, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah daftar peran pengguna yang diekstrak dari pra-langkah berisi peran "admin".
Contoh Kondisi: {{$.3.response.body.data.roles}} Contains admin
Efek Eksekusi Aktual: Jika daftar peran yang diekstrak dari pra-langkah berisi "admin", langkah akan dieksekusi.

Does not contain#

Memeriksa apakah sebuah string atau array tidak berisi nilai yang ditentukan. Jika tidak berisi, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah keranjang belanja pengguna yang diekstrak dari pra-langkah tidak berisi produk tertentu.
Contoh Kondisi: {{$.4.response.body.data.cartItems}} Does not contain productId123
Efek Eksekusi Aktual: Jika array keranjang yang diekstrak dari pra-langkah tidak berisi produk productId123, langkah akan dieksekusi.

Is empty#

Memeriksa apakah suatu bidang, array, atau variabel kosong. Jika kosong, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah bidang keterangan yang diekstrak dari pra-langkah kosong.
Contoh Kondisi: {{$.2.response.body.data.remarks}} Is empty
Efek Eksekusi Aktual: Jika bidang keterangan yang diekstrak dari pra-langkah kosong, langkah akan dieksekusi.

Is not Empty#

Memeriksa apakah suatu bidang, array, atau variabel tidak kosong. Jika tidak kosong, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah keterangan pesanan yang diekstrak dari pra-langkah telah diisi.
Contoh Kondisi: {{$.1.response.body.data.orderRemarks}} Is not Empty
Efek Eksekusi Aktual: Jika keterangan pesanan yang diekstrak dari pra-langkah tidak kosong, langkah akan dieksekusi.

In List#

Memeriksa apakah suatu nilai termasuk dalam daftar yang ditentukan. Jika ya, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah produk yang dipilih oleh pengguna yang diekstrak dari pra-langkah berada dalam daftar produk yang direkomendasikan.
Contoh Kondisi: {{$.3.response.body.data.productId}} In List ["prod123", "prod456", "prod789"]
Efek Eksekusi Aktual: Jika ID produk yang diekstrak dari pra-langkah adalah "prod456", langkah akan dieksekusi.
TIP
Di Apidog, saat memasukkan daftar, setiap elemen harus dimasukkan secara terpisah dan dipisahkan dengan menekan tombol Enter.

Not in List#

Memeriksa apakah suatu nilai tidak termasuk dalam daftar yang ditentukan. Jika tidak termasuk, kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.
Contoh:
Skenario: Periksa apakah kode promo yang dimasukkan oleh pengguna yang diekstrak dari pra-langkah tidak ada dalam daftar kode promo yang telah digunakan.
Contoh Kondisi: {{$.4.response.body.data.promoCode}} Not in List ["usedCode1", "usedCode2"]
Efek Eksekusi Aktual: Jika kode promo yang diekstrak dari pra-langkah adalah "newPromo", kondisi terpenuhi dan langkah akan dieksekusi; jika tidak, langkah tersebut akan dilewati.

Pengelompokan#

Ketika beberapa langkah dalam proses pengujian saling terkait, langkah-langkah tersebut dapat dikelompokkan bersama untuk klasifikasi. Dengan mengelompokkan langkah pengujian, Anda meningkatkan keterbacaan dan operabilitas skenario pengujian.

Tunggu#

Ketika langkah tertentu dalam proses pengujian memerlukan penantian selama periode tertentu sebelum eksekusi, Anda dapat menambahkan kondisi tunggu untuk menyelesaikannya.

Contoh Penggunaan Tunggu#

Simulasikan pengguna yang melihat detail hewan peliharaan dan memperbarui status penelusuran informasi hewan peliharaan setelah menelusuri selama 1000ms.
1.
Klik tombol "Add Step" di bagian bawah dan pilih "Wait."
2.
Masukkan waktu tunggu, 1000 (dalam milidetik).
Saat Anda menggunakan kontrol alur pengujian, laporan pengujian tidak akan menampilkan langkah seperti If, for, dll., tetapi hanya akan menampilkan permintaan aktual yang dieksekusi, yang dicantumkan secara linear sesuai urutan eksekusi.
Modified at 2026-06-11 10:17:04
Previous
Meneruskan Data Antar Permintaan
Next
Sinkronisasi Data dari Endpoint dan Kasus Endpoint
Built with