Artikel ini memperkenalkan cara menggabungkan Apidog CLI dengan Claude Skills untuk membangun alur kerja yang efisien dalam pengujian otomatisasi API berbasis bahasa alami.
Dalam alur kerja ini, Anda hanya perlu mengucapkan satu kalimat ke Claude Code di terminal Anda, contohnya:
"Jalankan pengujian alur pesanan pengguna di dev."
Claude Code akan secara otomatis memahami maksud Anda, menemukan skenario pengujian atau suite pengujian yang sesuai, menjalankan pengujian, lalu meringkas dan menafsirkan hasilnya untuk Anda.

Ikhtisar Perkakas
Alur kerja ini terdiri dari tiga perkakas:
1. Apidog CLI
Antarmuka baris perintah yang disediakan oleh Apidog. Ini digunakan untuk menjalankan pengujian otomatisasi API dari terminal dan menghasilkan laporan pengujian.
2. Claude Code
Asisten AI baris perintah yang dirilis oleh Anthropic. Ia dapat beroperasi pada file, menjalankan perintah, mengeksekusi skrip, dan berinteraksi dengan lingkungan pengembangan lokal Anda.
3. Claude Skills
Juga dikenal sebagai Agent Skills, sebuah mekanisme ekstensi dari Claude Code. Sebuah Skill mendefinisikan bagaimana Claude harus menyelesaikan tugas tertentu, pada dasarnya bertindak sebagai kumpulan instruksi operasional yang dapat dieksekusi.
Dalam alur kerja ini, Claude Code bertanggung jawab untuk memahami instruksi bahasa alami. Ketika permintaan pengguna cocok dengan Claude Skill yang telah ditentukan, Claude secara otomatis mengeksekusi perintah Apidog CLI yang sesuai dan menganalisis hasilnya.
Yang Dapat Dilakukan Alur Kerja Ini
Di bawah ini adalah beberapa skenario dunia nyata untuk mengilustrasikan bagaimana alur kerja ini dapat digunakan dalam praktik.
Menjalankan Satu Pengujian
Jika Anda ingin menjalankan skenario pengujian tertentu, Anda dapat menamainya secara eksplisit. Contohnya:
"Jalankan pengujian login di dev."
Setelah pengujian selesai, Claude menganalisis hasilnya dan memberikan ringkasan.

Daftar Semua Pengujian yang Tersedia
Untuk melihat skenario pengujian atau suite pengujian mana yang tersedia, Anda dapat mengatakan:
"Tunjukkan pengujian yang tersedia."
Claude akan mengeksekusi skrip yang relevan dan mencantumkan semua pengujian.

Jalankan Semua Pengujian untuk Modul Bisnis
Jika Anda ingin mengeksekusi semua pengujian untuk domain bisnis tertentu—seperti pengujian terkait pembayaran—Anda dapat mengatakan:
"Jalankan semua pengujian pembayaran di env uji."
Claude akan secara otomatis menemukan semua file pengujian terkait dan mengeksekusinya secara berurutan atau paralel.

Membandingkan Hasil Pengujian Antar Lingkungan
Untuk membandingkan hasil antar lingkungan, Anda dapat mengatakan:
"Jalankan pengujian login di dev dan test."
Claude akan mengeksekusi pengujian di kedua lingkungan dan menganalisis perbedaan dalam hasilnya.

Jalankan Pengujian Berdasarkan Perubahan Kode
Setelah perubahan kode, Anda dapat meminta Claude untuk hanya menjalankan pengujian yang terpengaruh:
"Berdasarkan perubahan kode terbaru, jalankan pengujian API yang terpengaruh di dev."
Claude akan menganalisis perubahan Git, menentukan skenario pengujian atau suite yang terpengaruh, dan hanya mengeksekusi pengujian tersebut—menghemat waktu dan sumber daya.
Lebih banyak skenario menanti untuk Anda jelajahi.
Selanjutnya, kita akan membahas cara menginstal dan mengonfigurasi Apidog CLI, Claude Code, dan Claude Skills, serta cara menggabungkannya menjadi alur kerja yang lengkap.
Persiapan
Persyaratan Lingkungan
Pastikan Node.js terinstal di mesin Anda. Verifikasi di terminal Anda:
node -v
npm -vMenginstal Apidog CLI. Instal melalui npm:
npm install -g apidog-cli
Verifikasi instalasi:
apidog --versionJika nomor versi ditampilkan, instalasi berhasil.
Anda dapat menyalin perintah CLI untuk skenario pengujian atau suite pengujian dari Apidog → Tests → CI/CD, menambahkan Token Akses Anda, dan menjalankannya di terminal.

Jika output pengujian muncul, Apidog CLI berfungsi dengan benar.
Menginstal Claude Code. Instal melalui npm:
npm install -g @anthropic-ai/claude-codeVerifikasi:
claude --versionPada jalankan pertama, Anda perlu masuk:
claude
Ikuti langkah-langkah otorisasi. Akun Claude diperlukan. Setelah masuk, Anda akan memasuki antarmuka interaktif dan dapat mengajukan pertanyaan dasar.
Pada titik ini, Claude belum tahu cara menjalankan pengujian Apidog. Selanjutnya, kita akan mengajarkannya menggunakan Claude Skills.
Membangun Claude Skills
Memahami Cara Kerja Skills
Saat menggunakan Claude Code, Anda tidak memilih Skill secara manual. Anda cukup mendeskripsikan apa yang ingin Anda lakukan dalam bahasa alami.
Jika permintaan Anda cocok dengan deskripsi Skill, Claude secara otomatis memuat Skill tersebut dan mengeksekusi alur kerja yang didefinisikan.
Langkah 1: Membuat Folder Skill
Semua konfigurasi Skill berada di bawah folder .claude/skills/. Setiap Skill memiliki subfoldernya sendiri.
Buat folder Skill minimal untuk pengujian otomatisasi Apidog di root proyek:
mkdir -p .claude/skills/apidog-tests
Struktur yang dihasilkan:
.claude/skills/apidog-tests/Kita akan secara bertahap menambahkan file entri dan skrip di sini.
Langkah 2: Membuat SKILL.md
Setiap Skill membutuhkan file SKILL.md yang mendefinisikan bagaimana Claude harus mengeksekusi tugas setelah Skill tersebut dipicu.
File dimulai dengan metadata YAML yang dibungkus dalam ---. Bidang name dan description wajib diisi.
description sangat penting—ini menentukan kapan Claude harus mengaktifkan Skill ini.
Di bawah blok YAML, konten Markdown mendefinisikan logika eksekusi, aturan keputusan, skrip untuk dipanggil, dan batasan.
Contoh SKILL.md untuk Pengujian Otomatisasi Apidog
---
name: apidog-tests
description: Mengeksekusi dan menafsirkan pengujian API otomatis Apidog melalui Apidog CLI. Picu Skill ini setiap kali pengguna secara eksplisit meminta untuk menjalankan pengujian, kasus pengujian, skenario pengujian, atau suite pengujian, termasuk permintaan untuk mengeksekusi pengujian di lingkungan tertentu seperti dev, test, atau prod, untuk memverifikasi perilaku API setelah perubahan kode, untuk melakukan pengujian regresi atau pra-rilis, atau untuk menjalankan pemeriksaan API sebelum git commit, push, atau merge. Bahkan jika pengguna tidak secara eksplisit menyebut "Apidog" atau "API", asumsikan permintaan ini merujuk pada pengujian otomatis Apidog ketika eksekusi pengujian tersirat. Skill harus memilih skenario pengujian atau suite pengujian yang sesuai, mengeksekusi pengujian, dan menjelaskan hasilnya tanpa memodifikasi definisi pengujian atau perintah itu sendiri.
---
# Pengujian Apidog
Mengeksekusi pengujian otomatis Apidog dan menafsirkan hasilnya.
## Alur Kerja
1. **Pilih Pengujian**:
- Jika pengguna secara eksplisit menyediakan:
- Jalur file pengujian
- Nama file pengujian
- Atau nama pengujian yang jelas dan cocok secara unik
- Gunakan pengujian tersebut secara langsung tanpa pemilihan otomatis.
- Jika informasi tidak jelas, prioritaskan menjalankan skrip `node ./.claude/skills/apidog-tests/scripts/list-tests.js` untuk dengan cepat mengambil semua jalur file pengujian dan deskripsinya.
- Hindari pencarian global secara membabi buta di direktori proyek besar; sebaliknya, temukan direktori file pengujian `./.claude/skills/apidog-tests/tests/` yang didedikasikan untuk skill ini.
2. **Aturan Eksekusi Pengujian Berganda**
- Secara default, hanya eksekusi satu pengujian, tetapi tawarkan opsi untuk eksekusi batch.
- Jika pengguna secara eksplisit menyatakan:
- "Jalankan beberapa ini"
- "Jalankan semua"
- Masuk ke **Mode Eksekusi Batch**.
Dalam Mode Eksekusi Batch:
- Cantumkan pengujian yang akan dieksekusi dengan jelas.
- **Tanyakan metode eksekusi**: Biarkan pengguna memilih antara "Eksekusi Berurutan" (keterbacaan lebih baik) atau "Eksekusi Paralel" (lebih cepat).
- **Eksekusi Berurutan**: Jalankan pengujian satu per satu dan analisis segera, cocok untuk debugging.
- **Eksekusi Paralel**: Mulai beberapa pengujian secara bersamaan (menggunakan `&` atau skrip konkuren), cocok untuk regresi cepat, meskipun log mungkin saling campur.
- Minta konfirmasi pengguna untuk metode eksekusi dan daftar pengujian (Ya / Tidak).
- Eksekusi pengujian sesuai dengan metode yang dipilih.
- Akhirnya, ringkas atau jelaskan secara individual hasil dari setiap pengujian.
3. **Konfirmasi Lingkungan**:
- Lingkungan yang didukung meliputi:
- `dev`
- `test`
- `prod`
- Jika pengguna belum menentukan lingkungan:
- Cantumkan nama lingkungan di atas.
- Minta pengguna mengonfirmasi mana yang akan digunakan.
4. **Eksekusi Pengujian**:
- Eksekusi pengujian setelah informasi berikut jelas:
- Jalur file pengujian
- Nama lingkungan (dev / test / prod)
```bash
node ./.claude/skills/apidog-tests/scripts/run-cli.js <test_file_path> <env_name>
```
5. **Menafsirkan Hasil**: Menganalisis output Apidog CLI dan menjelaskan penyebab kegagalan.
## Penanganan Kegagalan
- Jangan memodifikasi file pengujian.
- Jangan memodifikasi perintah eksekusi.
- Jelaskan alasan kegagalan berdasarkan nama pengujian, semantik API, dan output CLI.
Langkah 3: File Pendukung
Pada langkah-langkah sebelumnya, kita telah membuat file SKILL.md, yang mendefinisikan kondisi pemicu dan alur kerja eksekusi keseluruhan untuk Skill ini.
Berdasarkan fondasi ini, semua file yang tersisa hanya berfungsi sebagai komponen pendukung untuk SKILL.md. File tambahan diperkenalkan sesuai permintaan, hanya ketika alur kerja membutuhkan informasi tambahan—seperti lingkungan runtime, perintah eksekusi, atau definisi pengujian.
Struktur folder akhir:
.claude/skills/apidog-tests/
├── SKILL.md
├── env/
│ ├── dev.env
│ ├── test.env
│ └── prod.env
├── scripts/
│ ├── list-tests.js
│ └── run-cli.js
└── tests/
├── payment-flow.md
└── refund-flow.md
Di bawah ini, kita akan membahas setiap file pendukung, menjelaskan tujuannya dan memberikan contoh.
Konfigurasi Lingkungan (env)
Folder env/ digunakan untuk menyimpan konfigurasi variabel lingkungan, seperti token akses Apidog dan ID lingkungan.
Dengan mengekstrak ID lingkungan ke dalam variabel, kita dapat dengan cepat mengganti lingkungan eksekusi pengujian (misalnya, pengembangan, pengujian, produksi) tanpa memodifikasi perintah atau skrip apa pun.
Misalnya, buat file dev.env di bawah folder env/:
APIDOG_ACCESS_TOKEN=APS-your-access-token
APIDOG_ENV_ID=your-environment-idJika beberapa lingkungan diperlukan, Anda dapat membuat file tambahan dengan cara yang sama:
test.envprod.env- …
Setiap file hanya perlu mempertahankan variabel untuk lingkungan yang sesuai.

ID lingkungan sesuai dengan nilai numerik yang diteruskan ke parameter -e dalam perintah Apidog CLI. Setiap lingkungan runtime (seperti pengembangan, pengujian, atau produksi) memiliki ID lingkungan yang unik di Apidog.

.env di bawah folder env/ berisi token akses, yang merupakan informasi sensitif dan tidak boleh di-commit ke Git.Skrip Eksekusi (scripts)
Folder scripts/ berisi skrip yang dapat dieksekusi yang bertanggung jawab untuk mengonversi definisi pengujian menjadi perintah Apidog CLI yang dapat dijalankan, menyuntikkan variabel lingkungan, dan mengeksekusi pengujian.
Dalam Skill ini, Node.js dipilih karena dua alasan utama:
- Apidog CLI itu sendiri bergantung pada Node.jsMenggunakan ulang runtime yang sama menghindari kebutuhan untuk menginstal runtime tambahan seperti Python.
- Mengurangi overhead konteks dan konsumsi tokenDengan menangani parsing perintah, injeksi variabel, dan logika eksekusi di dalam skrip, Claude tidak perlu berulang kali membuat perintah CLI lengkap selama percakapan, yang secara signifikan mengurangi penggunaan konteks.
Jika Anda tidak terbiasa dengan pembuatan skrip, Anda mungkin memilih untuk tidak menggunakan skrip sama sekali. Sebagai gantinya, Anda dapat membiarkan Claude merakit dan mengeksekusi perintah CLI secara langsung di SKILL.md.
Namun, pendekatan ini datang dengan biaya konteks dan token yang lebih tinggi.
Buat run-cli.js di bawah folder scripts/. Tanggung jawab intinya adalah:
- Mengekstrak perintah Apidog CLI dari file pengujian Markdown yang ditentukan
- Memuat file
.envyang sesuai berdasarkan lingkungan yang dipilih (misalnya,dev/test) - Menyuntikkan variabel lingkungan dan mengeksekusi pengujian
Contoh skrip siap pakai ditunjukkan di bawah ini:
import fs from "fs";
import path from "path";
import { execSync } from "child_process";
import dotenv from "dotenv";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// args
const mdPath = process.argv[2];
const envName = process.argv[3] || "local";
if (!mdPath) {
console.error("❌ Missing test .md file path");
process.exit(1);
}
// env path: always relative to the skill folder
const envPath = path.join(__dirname, "..", "env", `${envName}.env`);
if (!fs.existsSync(envPath)) {
console.error(`❌ Environment configuration not found: ${envPath}`);
process.exit(1);
}
dotenv.config({ path: envPath });
// Read markdown file
const content = fs.readFileSync(mdPath, "utf-8");
const match = content.match(/```bash([\s\S]*?)```/);
if (!match) {
console.error("❌ Bash command block not found");
process.exit(1);
}
let command = match[1].trim();
// Variable replacement
command = command
.replaceAll("$APIDOG_ACCESS_TOKEN", process.env.APIDOG_ACCESS_TOKEN)
.replaceAll("$APIDOG_ENV_ID", process.env.APIDOG_ENV_ID);
console.log(`▶ Running (${envName})`);
console.log(command);
// Execute
try {
execSync(command, { stdio: "inherit" });
} catch (e) {
// Apidog CLI returns exit code 1 when tests fail
process.exit(1);
}
Juga buat list-tests.js di bawah folder scripts/. Ini digunakan untuk:
- Memindai folder
tests/secara rekursif - Menemukan semua file pengujian Markdown
- Mengekstrak deskripsi dari baris pertama
- Menampilkan daftar semua pengujian otomatis Apidog yang tersedia
Contoh skrip siap pakai ditunjukkan di bawah ini:
import fs from "fs";
import path from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const testsDir = path.join(__dirname, "..", "tests");
function scan(dir, relativePath = "") {
const items = fs.readdirSync(dir, { withFileTypes: true });
for (const item of items) {
const fullPath = path.join(dir, item.name);
const relPath = path.join(relativePath, item.name);
if (item.isfolder()) {
scan(fullPath, relPath);
} else if (item.name.endsWith(".md")) {
try {
const content = fs.readFileSync(fullPath, "utf-8");
const firstLine = content.split("\n")[0].trim();
const description = firstLine.startsWith(">")
? firstLine.replace(/^>\s*/, "").trim()
: "No description";
const displayPath = path.join(
"./.claude/skills/apidog-tests/tests",
relPath
);
console.log(`[${displayPath}] - ${description}`);
} catch (err) {
console.log(`[${relPath}] - (Unable to read file)`);
}
}
}
}
console.log("🔍 Available Apidog automated tests:");
if (fs.existsSync(testsDir)) {
scan(testsDir);
} else {
console.log("❌ tests folder not found");
}Definisi Pengujian (tests)
Folder tests/ menyimpan definisi pengujian yang ditulis dalam Markdown.
Prinsip Desain: Setiap file Markdown sesuai dengan satu skenario pengujian Apidog atau satu suite pengujian. Anda dapat langsung menggunakan kembali struktur folder yang ada, nama skenario pengujian, nama suite pengujian, dan deskripsi dari pengujian otomatisasi Apidog.
Setiap file Markdown hanya perlu berisi dua bagian:
- Deskripsi pengujian singkat
- Satu perintah Apidog CLI yang dapat dieksekusi secara langsung
Dalam perintah Apidog CLI:
- Token akses diganti dengan
$APIDOG_ACCESS_TOKEN - ID lingkungan yang diteruskan ke
-ediganti dengan$APIDOG_ENV_ID
Kedua variabel dikonfigurasi secara terpusat dalam file .env. Pendekatan ini mencegah kebocoran token dan memungkinkan penggantian lingkungan yang fleksibel.
Contoh: login-auth-flow.md
> Memverifikasi API inti seperti login, penyegaran token, dan logout.
```bash
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 5564xxx -e $APIDOG_ENV_ID -n 1 -r html,cli
```
Pada titik ini, Skill telah sepenuhnya dibangun. Anda dapat meninjau struktur folder dan membandingkannya dengan implementasi Anda sendiri untuk mengidentifikasi perbedaan apa pun.

Menggunakan Alur Kerja di Claude Code
Jalankan claude di folder proyek. Claude secara otomatis memindai .claude/skills/ dan memuat Skill apidog-tests.
Anda dapat mencantumkan Skills yang dimuat menggunakan /skills.

Kemudian coba perintah bahasa alami:
"Jalankan pengujian login di dev."

Claude akan menemukan pengujian, mengeksekusinya melalui Apidog CLI, menganalisis output, dan meringkas hasilnya.
Ringkasan
Artikel ini mendemonstrasikan cara membangun alur kerja pengujian API otomatis menggunakan Claude Code, Apidog CLI, dan Claude Skills.
Ide intinya adalah menjadikan Claude sebagai jembatan antara manusia dan perkakas:
- Anda mendeskripsikan maksud dalam bahasa alami
- Claude memahami dan memanggil skrip
- Skrip mengeksekusi Apidog CLI
- Claude menganalisis dan menyajikan hasil dengan cara yang mudah dibaca manusia
Untuk menjadikan alur kerja ini benar-benar efektif, Anda harus menyesuaikannya dengan proyek Anda—organisasi pengujian, strategi lingkungan, dan logika analisis hasil semuanya dapat disesuaikan.
Jika tim Anda sering menjalankan pengujian API dan menginginkan pengalaman yang lebih otomatis dan cerdas, pendekatan ini patut dicoba. Ini membutuhkan beberapa penyiapan awal, tetapi setelah ditetapkan, ini dapat secara signifikan meningkatkan efisiensi—dan terus menjadi lebih baik seiring Anda menyempurnakannya.
