DEV Community

Cover image for วิธีใช้ Apidog CLI ใน Cline
Thanawat Wongchai
Thanawat Wongchai

Posted on • Originally published at apidog.com

วิธีใช้ Apidog CLI ใน Cline

Cline ทำงานเป็นวงจร: วางแผนการเปลี่ยนแปลง แก้ไขไฟล์ รันคำสั่ง อ่านผลลัพธ์ และตัดสินใจขั้นตอนถัดไป แล้วเหตุใดการทดสอบ API จึงไม่อยู่ในวงจรเดียวกัน? หากการทดสอบยังอยู่หลัง GUI ใน Apidog และรอให้คนมากดรัน เอเจนต์ก็จะไม่สามารถใช้ผลลัพธ์นั้นเพื่อตรวจสอบหรือแก้ไขโค้ดได้

ลองใช้ Apidog วันนี้

วิธีเชื่อมการทดสอบเข้ากับวงจรของ Cline ใช้การตั้งค่าเพียงบล็อกเดียว: Apidog CLI คือแพ็กเกจ npm ชื่อ apidog-cli ที่รันสถานการณ์ทดสอบจาก Apidog ได้โดยตรงในเทอร์มินัล เมื่อ CLI ถูกติดตั้งและ Cline รู้กฎของโปรเจกต์แล้ว เอเจนต์จะรันสถานการณ์ Apidog ได้เหมือนรัน unit test: รันคำสั่ง ตรวจสอบ exit code และแก้โค้ดเมื่อผลลัพธ์ล้มเหลว

หากยังไม่ได้ติดตั้ง CLI ให้เริ่มจาก วิธีติดตั้ง Apidog CLI ด้วย AI coding agent ซึ่งครอบคลุมการติดตั้ง npm การยืนยันตัวตน และการรันครั้งแรก บทความนี้สมมติว่าคำสั่งต่อไปนี้ทำงานได้แล้ว:

apidog --version
Enter fullscreen mode Exit fullscreen mode

และเครื่องของคุณยืนยันตัวตนกับบัญชี Apidog เรียบร้อยแล้ว

Cline คืออะไรในบริบทนี้

Cline คือเอเจนต์เขียนโค้ดแบบโอเพนซอร์สที่ทำงานเป็นส่วนขยายของ VS Code และมีเวอร์ชันสำหรับ JetBrains กับ CLI ด้วย มันอ่าน repository วางแผนในโหมด Plan แล้วเปลี่ยนไปโหมด Act เพื่อแก้ไขไฟล์และรันคำสั่งเชลล์

Cline สามารถขออนุมัติก่อนรันคำสั่งได้ ขึ้นอยู่กับการตั้งค่า auto-approval ของคุณ หากคุณเปิดแผง Cline ใน VS Code และเห็น diff ของไฟล์พร้อมผลลัพธ์เทอร์มินัลระหว่างทำงาน แสดงว่าคุณอยู่ในสภาพแวดล้อมที่เหมาะสมแล้ว ดูพื้นฐานเพิ่มเติมได้ที่ วิธีใช้ Cline

สิ่งสำคัญคือ Cline สามารถโหลดกฎประจำโปรเจกต์ได้ กฎเหล่านี้ทำให้คำสั่ง “รัน API test” ไม่ใช่คำขอครั้งเดียวในแชท แต่กลายเป็นขั้นตอนที่เอเจนต์นำกลับมาใช้ในทุกงานได้ ผ่านไดเรกทอรี .clinerules/

ขั้นตอนที่ 1: เพิ่มกฎใน .clinerules/

Cline โหลดกฎของโปรเจกต์จากไดเรกทอรี .clinerules/ ที่ root ของ workspace ก่อนเริ่มงาน โดยจะอ่านไฟล์ .md และ .txt ในโฟลเดอร์นี้แล้วรวมเป็นคำสั่งสำหรับเซสชันนั้น

คุณสามารถใช้ไฟล์ .clinerules ไฟล์เดียวได้ แต่การแยกไฟล์ในไดเรกทอรีเหมาะกว่าเมื่อโปรเจกต์มีหลายกฎ ดูรายละเอียดได้จาก เอกสาร Cline Rules

สร้างไฟล์ .clinerules/apidog.md ที่ root ของ repository:

# การทดสอบ API ด้วย Apidog

- หากต้องการทดสอบ API ให้รัน Apidog CLI ไม่ใช่ curl หรือสคริปต์เฉพาะกิจ
- คำสั่ง: apidog run -t <scenario_id> -e <env_id> -r cli
- ID ของสถานการณ์และ ID ของสภาพแวดล้อมมาจากแท็บ CI/CD ของ Apidog ใช้ค่าเหล่านั้นให้ถูกต้อง
- รหัสทางออก 0 หมายถึงทุกการยืนยันผ่านหมด รหัสที่ไม่ใช่ศูนย์หมายถึงความล้มเหลว; รหัสทางออกคือแหล่งที่มาของความจริง ไม่ใช่สรุปของคุณ
- เครื่องนี้ได้รับการยืนยันตัวตนแล้วผ่าน `apidog login` ห้ามเพิ่ม --access-token และห้ามใส่โทเค็นในไฟล์นี้เด็ดขาด
- หากแฟล็กไม่รู้จัก ให้รัน `apidog run --help` และใช้แฟล็กที่ถูกต้องจากที่นั่น
Enter fullscreen mode Exit fullscreen mode

อย่าเก็บ scenario ID ไว้เพียงในข้อความแชท เพราะข้อมูลนั้นหายไปเมื่อภารกิจจบลง แต่ไฟล์ .clinerules/apidog.md อยู่ร่วมกับ repository และอยู่ภายใต้ version control ทำให้ทั้ง Cline และสมาชิกทีมคนอื่นใช้กฎเดียวกันได้

ขั้นตอนที่ 2: คัดลอกคำสั่งจาก Apidog

อย่าเดา scenario_id หรือ env_id เอง ให้เปิดสถานการณ์ทดสอบใน Apidog ไปที่แท็บ CI/CD แล้วคัดลอกคำสั่งที่ระบบสร้างให้ ตัวอย่าง:

apidog run -t 8291 -e 42 -r cli
Enter fullscreen mode Exit fullscreen mode

ความหมายของพารามิเตอร์:

  • -t 8291 คือ ID ของสถานการณ์ทดสอบ
  • -e 42 คือ ID ของสภาพแวดล้อม
  • -r cli คือ reporter ที่พิมพ์ผลลัพธ์ลงเทอร์มินัล

นำค่าจริงของโปรเจกต์คุณไปใส่ใน .clinerules/apidog.md เพื่อให้ Cline มีคำสั่งที่ถูกต้องทุกครั้งที่เริ่มงาน

ดูแฟล็กเพิ่มเติมได้จาก เอกสารอ้างอิงคำสั่ง apidog run

ขั้นตอนที่ 3: ให้ Cline รันการทดสอบ

หลังเพิ่มกฎแล้ว ให้เริ่มงานใหม่ใน Cline เพื่อให้มันโหลด .clinerules/ จากนั้นสั่งงานได้ตรง ๆ เช่น:

รันสถานการณ์ทดสอบ Apidog และบอกผลลัพธ์ให้ฉันทราบ
Enter fullscreen mode Exit fullscreen mode

Cline จะวางแผน แล้วเข้าสู่โหมด Act เพื่อรันคำสั่ง apidog run ตามกฎใน repository

ระดับการโต้ตอบขึ้นกับการตั้งค่าอนุมัติคำสั่งของคุณ:

  1. Cline ประเมินคำสั่งว่าเป็นคำสั่งปลอดภัยหรือต้องอนุมัติ
  2. หากการตั้งค่าอนุญาตให้รัน safe commands อัตโนมัติ คำสั่ง apidog run จะรันต่อได้
  3. หากต้องขออนุมัติ Cline จะหยุดรอ ให้คุณอนุมัติคำสั่งนั้น
  4. หากต้องการให้รันสถานการณ์ในอนาคตโดยอัตโนมัติ ให้กำหนด auto-approval สำหรับ execute-safe-commands ตามความเหมาะสมของทีม

Reporter -r cli จะแสดงคำขอ การยืนยัน และสรุปผลในเทอร์มินัล ทำให้ Cline อ่านผลลัพธ์เพื่อเลือกขั้นตอนถัดไปได้

ขั้นตอนที่ 4: อ่านรายงานใน Cline

เมื่อการรันทดสอบล้มเหลว Reporter แบบ CLI จะแสดงรายละเอียดที่ Cline ใช้งานต่อได้ เช่น:

  • คำขอแต่ละรายการ
  • assertion แต่ละข้อ
  • status code ที่คาดหวังและค่าจริง
  • ชื่อฟิลด์ที่หายไปหรือมีค่าไม่ถูกต้อง
  • assertion ที่ล้มเหลว

ข้อมูลนี้มักเพียงพอให้ Cline ระบุจุดที่ต้องแก้ แล้วรันสถานการณ์ซ้ำหลังแก้โค้ด

หากต้องการรายงานที่เปิดในเบราว์เซอร์หรือแชร์ให้ทีมได้ ให้เพิ่ม HTML reporter:

apidog run -t 8291 -e 42 -r cli,html
Enter fullscreen mode Exit fullscreen mode

Reporter html จะสร้างรายงานแบบ standalone ในไดเรกทอรี:

./apidog-reports
Enter fullscreen mode Exit fullscreen mode

ควรเก็บ cli ไว้ด้วย เพราะ Cline ต้องใช้ผลลัพธ์แบบ inline เพื่อตัดสินใจในเทอร์มินัล ส่วน html เหมาะสำหรับเปิดตรวจสอบและแชร์ผลลัพธ์

ดูรายละเอียด reporter รวมถึงรูปแบบ JUnit สำหรับ CI dashboard ได้ที่ คู่มือ Apidog CLI ฉบับสมบูรณ์ และ คู่มือรายงานการทดสอบ Apidog CLI

ทำให้การทดสอบอยู่ในวงจรของ Cline

ผลลัพธ์ที่ต้องการไม่ใช่แค่ให้ Cline รันคำสั่งเมื่อคุณสั่ง แต่ให้มันรันสถานการณ์ Apidog เป็นส่วนหนึ่งของวงจรแก้ไขและตรวจสอบ

ตัวอย่าง: Cline กำลังแก้ handler ที่สร้าง payment response

  1. Cline แก้โค้ด
  2. Cline รันสถานการณ์ Apidog กับ staging
  3. Cline อ่าน exit code
  4. ถ้า exit code เป็น 0 ให้ทำงานต่อ
  5. ถ้า exit code ไม่เป็น 0 ให้เปิดผลลัพธ์ ตรวจสอบ assertion ที่ล้มเหลว แก้โค้ด และรันใหม่

การทดสอบ API จึงกลายเป็นส่วนหนึ่งของวงจรเดียวกับ unit test:

แก้โค้ด → รัน API test → อ่านผลลัพธ์ → แก้โค้ด → รันซ้ำ
Enter fullscreen mode Exit fullscreen mode

แนวทางนี้เป็นรูปแบบ delegate-then-verify: คุณยังออกแบบสถานการณ์ทดสอบแบบ visual ใน Apidog ส่วน Cline มีหน้าที่รันคำสั่งและตีความผลจาก exit code

อ่านแนวคิดเพิ่มเติมได้ที่ วิธีใช้เอเจนต์ AI สำหรับการทดสอบ API และ ชุดทดสอบ Apidog AI

ตรวจสอบว่า Cline รัน CLI จริง

อย่าเชื่อเฉพาะข้อความสรุปของเอเจนต์ ให้ตรวจสอบสามจุดนี้

1. ตรวจว่าคำสั่งถูกเรียกจริง

ในหน้าต่างงานของ Cline ให้มองหาคำสั่ง:

apidog run ...
Enter fullscreen mode Exit fullscreen mode

และผลลัพธ์ใต้คำสั่งนั้น

หาก Cline บอกว่ารันการทดสอบแล้ว แต่ไม่มีคำสั่งหรือ output ปรากฏ แสดงว่ามันสรุปสิ่งที่ยังไม่ได้ทำ ให้สั่งรันใหม่และขอ raw output

2. ตรวจ exit code

ถาม Cline โดยตรง:

รหัสทางออกของคำสั่ง apidog run นั้นคืออะไร?
Enter fullscreen mode Exit fullscreen mode

กฎคือ:

  • exit code 0 หมายถึง assertion ทุกข้อผ่าน
  • exit code ที่ไม่ใช่ 0 หมายถึงมีอย่างน้อยหนึ่งข้อที่ล้มเหลว

เมื่อคำสรุปของ Cline ขัดแย้งกับ exit code ให้เชื่อ exit code เสมอ

3. ตรวจว่าใช้สถานการณ์จริง

หากคำสั่งล้มเหลวด้วยข้อความ scenario not found ให้ตรวจสอบว่า Cline ใช้ ID ที่ถูกต้องหรือไม่

เปรียบเทียบค่าเหล่านี้:

  • -t ในคำสั่ง
  • -e ในคำสั่ง
  • ค่าใน .clinerules/apidog.md
  • คำสั่งที่ Apidog สร้างในแท็บ CI/CD

ให้ถือค่าในคำสั่งจากแท็บ CI/CD และไฟล์กฎเป็นแหล่งข้อมูลจริง

ทางเลือก: เชื่อมต่อ Apidog MCP Server

การรัน apidog run จาก .clinerules/ ครอบคลุมงานทดสอบส่วนใหญ่แล้ว แต่หากต้องการให้ Cline อ่าน API specification ระหว่างเขียนโค้ด คุณสามารถเชื่อมต่อ Apidog MCP Server ได้

ในส่วนขยาย Cline สำหรับ VS Code:

  1. คลิกไอคอน MCP Servers ในแผง Cline
  2. เลือก Configure
  3. คลิก Configure MCP Servers
  4. เปิดไฟล์ cline_mcp_settings.json
  5. เพิ่มเซิร์ฟเวอร์ภายใต้ object mcpServers

คุณยังสามารถค้นหาและติดตั้ง MCP Server จาก MCP Marketplace ใน Cline ได้โดยไม่ต้องแก้ JSON เอง ดูขั้นตอนได้จาก เอกสาร Cline MCP

Apidog MCP Server เปิดเผย API specification ผ่าน MCP ทำให้ Cline อ่าน schema ได้ขณะเขียนโค้ด

สรุปบทบาทของแต่ละส่วน:

  • Apidog CLI: รันสถานการณ์ทดสอบและรายงานผล
  • Apidog MCP Server: ให้ Cline เข้าถึง specification และ schema ระหว่างพัฒนา

Cline เป็นเครื่องมือแบบ interactive จึงไม่มีโหมด non-interactive สำหรับ pipeline ในตัว หากต้องการรัน apidog run ใน CI โดยไม่ใช้ Cline ให้ดู Apidog CLI ใน GitHub Actions และ คู่มือไปป์ไลน์ Apidog CLI CI/CD

แก้ปัญหาที่พบบ่อย

Cline ไม่โหลดไฟล์กฎ

อาการ: Cline รันคำสั่งทั่วไป หรือไม่รันการทดสอบเลย

ตรวจสอบ:

  • โฟลเดอร์ต้องชื่อ .clinerules ถูกต้อง
  • โฟลเดอร์ต้องอยู่ที่ root ของ workspace
  • ไฟล์กฎต้องลงท้ายด้วย .md หรือ .txt
  • เริ่มงานใหม่ใน Cline หลังแก้ไฟล์กฎ

Cline เพิ่ม --access-token

อาการ: Cline พยายามส่ง access token แม้เครื่องจะ login แล้ว

เพิ่มหรือย้ำกฎนี้ใน .clinerules/apidog.md:

เครื่องนี้ได้รับการยืนยันตัวตนแล้วผ่าน `apidog login`
ห้ามเพิ่ม `--access-token`
ห้ามใส่โทเค็นจริงในไฟล์กฎ
Enter fullscreen mode Exit fullscreen mode

ดูวิธีจัดการการยืนยันตัวตนได้ที่ คู่มือการยืนยันตัวตน Apidog CLI

Cline สร้างแฟล็กที่ไม่มีอยู่จริง

อาการ:

unknown option
Enter fullscreen mode Exit fullscreen mode

ให้ Cline รัน:

apidog run --help
Enter fullscreen mode Exit fullscreen mode

แล้วใช้เฉพาะแฟล็กที่ CLI เวอร์ชันติดตั้งอยู่แสดงออกมา

Cline รายงานว่าผ่าน แต่การรันล้มเหลว

นี่เป็นข้อผิดพลาดที่สำคัญที่สุด ให้ตรวจ exit code ทุกครั้ง

exit code = 0      → ผ่าน
exit code != 0     → ล้มเหลว
Enter fullscreen mode Exit fullscreen mode

หากข้อความสรุปกับ exit code ไม่ตรงกัน ให้ถือว่า exit code ถูกต้อง

จากเอเจนต์รายวันสู่วงจรการทดสอบ

ตั้งค่าเพียงครั้งเดียว:

  1. ติดตั้ง apidog-cli ตามคู่มือการติดตั้ง
  2. สร้าง .clinerules/apidog.md
  3. คัดลอกคำสั่ง apidog run ที่ถูกต้องจากแท็บ CI/CD ของ Apidog
  4. กำหนดให้ Cline ใช้ exit code เป็นผลการตัดสินหลัก

หลังจากนั้น Cline จะรันการทดสอบ API ในวงจรเดียวกับการแก้โค้ด ช่วยตรวจพบ endpoint ที่เสียขณะที่เอเจนต์ยังทำงานกับการเปลี่ยนแปลงนั้น แทนที่จะพบปัญหาหลังส่งงานแล้ว

คุณยังสร้างสถานการณ์ทดสอบผ่าน UI ของ Apidog ได้เหมือนเดิม แต่เอเจนต์สามารถรันสถานการณ์ผ่าน CLI ได้ทุกครั้งที่จำเป็น ดาวน์โหลด Apidog สร้างสถานการณ์แรกของคุณ แล้วเพิ่มคำสั่ง apidog run ลงใน .clinerules/apidog.md เพื่อให้ Cline ใช้งานในการเปลี่ยนแปลงครั้งถัดไป

Top comments (0)