Apidog CLI + Claude Skills: Integrasi Pengujian API Otomatis ke dalam Alur Kerja Pengembangan

@apidog

@apidog

21 January 2026

Apidog CLI + Claude Skills: Integrasi Pengujian API Otomatis ke dalam Alur Kerja Pengembangan

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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan

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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan

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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan

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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan

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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan

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 -v

Menginstal Apidog CLI. Instal melalui npm:

npm install -g apidog-cli


Verifikasi instalasi:

apidog --version

Jika 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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan


Jika output pengujian muncul, Apidog CLI berfungsi dengan benar.

💡
Catatan: Baik klien desktop Apidog maupun Apidog CLI harus diperbarui ke versi terbaru untuk menggunakan fitur test suite terbaru.

Menginstal Claude Code. Instal melalui npm:

npm install -g @anthropic-ai/claude-code

Verifikasi:

claude --version

Pada 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-id

Jika beberapa lingkungan diperlukan, Anda dapat membuat file tambahan dengan cara yang sama:


Setiap file hanya perlu mempertahankan variabel untuk lingkungan yang sesuai.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan


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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan
💡
Catatan: File .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:

  1. Apidog CLI itu sendiri bergantung pada Node.jsMenggunakan ulang runtime yang sama menghindari kebutuhan untuk menginstal runtime tambahan seperti Python.
  2. 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:


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:


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:

  1. Deskripsi pengujian singkat
  2. Satu perintah Apidog CLI yang dapat dieksekusi secara langsung


Dalam perintah Apidog CLI:


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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan

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.

Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan


Kemudian coba perintah bahasa alami:

"Jalankan pengujian login di dev."
Apidog CLI + Claude Skills: Mengintegrasikan Pengujian Otomatisasi API ke dalam Alur Kerja Pengembangan


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:


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.

Mengembangkan API dengan Apidog

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