ทั้ง Apidog CLI และ Hoppscotch CLI รันการทดสอบ API จากเทอร์มินัล และทั้งคู่สามารถนำไปใช้ใน CI/CD pipeline ได้ อย่างไรก็ตาม ทั้งสองมาจากที่มาที่ต่างกัน Hoppscotch เป็นระบบนิเวศ API แบบโอเพนซอร์ส และ CLI ของมันคือตัวรันคอลเล็กชันที่เน้นเฉพาะเจาะจง Apidog เป็นแพลตฟอร์ม API แบบครบวงจร และ CLI ของมันเป็นจุดเริ่มต้นในการเข้าถึงเวิร์กโฟลว์การออกแบบ-ทดสอบ-จำลอง-เอกสารที่ใหญ่กว่า
คำตัดสินโดยสรุป
- เลือก Hoppscotch CLI หากโอเพนซอร์สและการโฮสต์ด้วยตนเองมีความสำคัญที่สุด คุณใช้ Hoppscotch อยู่แล้ว และรายงาน JUnit ครอบคลุมความต้องการในการรายงานของคุณ
- เลือก Apidog CLI หากคุณต้องการรายงานในรูปแบบ CLI, HTML และ JSON, การรันแบบขับเคลื่อนด้วยข้อมูลผ่าน CSV และ JSON, รายงานที่โฮสต์บนคลาวด์ และแพลตฟอร์มแบบครบวงจรเบื้องหลัง CLI
เปรียบเทียบเคียงข้างกัน
| Apidog CLI | Hoppscotch CLI | |
|---|---|---|
| ติดตั้ง | Apidog runner / apidog CLI |
npm i -g @hoppscotch/cli (Node v22+) |
| รัน | Test scenarios และ collections | Hoppscotch collections |
| แหล่งที่มา | โปรเจกต์ Apidog หรือนำเข้า OpenAPI | ไฟล์ Collection JSON หรือ Instance ID |
| ขับเคลื่อนด้วยข้อมูล | -d CSV และ JSON |
--iteration-data CSV + --iteration-count |
| Reporters | CLI, HTML, JSON + อัปโหลดขึ้นคลาวด์ | JUnit XML |
| การเขียนสคริปต์ | Pre/post-processors, assertions | Pre-request + pw.test() / pw.expect() |
| การตรวจสอบ Spec | ไม่มี Linter แบบ Standalone (ตรวจสอบเมื่อนำเข้า) | ไม่มี (เป็นเพียง Runner) |
| ทรัพยากรในรูปแบบโค้ด | Endpoints, schemas, branches, merge requests | ไม่มี |
| โอเพนซอร์ส | ไม่มี (มี Free tier) | มี, สามารถโฮสต์ด้วยตนเองได้ |
| แพลตฟอร์มที่กว้างกว่า | ออกแบบ, จำลอง, เอกสาร, ทดสอบในแอปเดียว | ส่วนหนึ่งของระบบนิเวศ Hoppscotch |
การติดตั้งและการรัน
Hoppscotch CLI ติดตั้งได้จาก npm และต้องใช้ Node.js v22 หรือใหม่กว่า (ผู้ใช้ Node 20 ให้ใช้ CLI v0.26.0):
npm i -g @hoppscotch/cli
hopp test ./collection.json -e ./staging.env.json
Apidog CLI มาพร้อมกับ Apidog runner และยืนยันตัวตนด้วยการล็อกอินหรือ access token จากนั้นรัน scenarios ด้วย ID:
apidog run -t <scenario-id> -e <env-id> --access-token <token>
การติดตั้งทั้งสองไม่หนักมาก ข้อควรระวังคือ Hoppscotch มีข้อกำหนดให้ใช้ Node v22 ที่เข้มงวด ซึ่งอาจเป็นปัญหาใน CI images ที่เก่ากว่า คู่มือการติดตั้ง Apidog CLI ครอบคลุมการตั้งค่า runner หากคุณเพิ่งเริ่มต้น
สิ่งที่แต่ละตัวรัน
Hoppscotch CLI รัน Hoppscotch collection คุณสามารถส่งไฟล์ collection JSON ในเครื่อง หรือดึงจาก Hoppscotch instance ด้วย ID และ token:
hopp test <collection-id> --token <access_token> --server https://hoppscotch.your-company.com
สำหรับแต่ละคำขอ มันจะรันสคริปต์ pre-request ส่งคำขอ และประเมินสคริปต์ทดสอบด้วย pw.test() และ pw.expect() การยืนยันที่ล้มเหลวจะทำให้เกิด exit code ที่ไม่ใช่ศูนย์
Apidog CLI รัน test scenarios ที่สร้างขึ้นในโปรเจกต์ Apidog ของคุณ ซึ่งสามารถเชื่อมโยงขั้นตอน แบ่งปันตัวแปร และยืนยันการตอบกลับได้ เนื่องจาก CLI เป็นส่วนหนึ่งของแพลตฟอร์ม scenario เดียวกันที่คุณออกแบบและดีบักในแอปก็คืออันเดียวกับที่คุณรันใน CI ไม่มีขั้นตอนการส่งออกแยกต่างหาก ดู คู่มือ Apidog CLI ฉบับสมบูรณ์ สำหรับโมเดล scenario และ ทดสอบ REST API จาก Command Line สำหรับการรันจริง
การทดสอบที่ขับเคลื่อนด้วยข้อมูล
เครื่องมือทั้งสองทำซ้ำการทดสอบบนชุดข้อมูล ซึ่งเป็นคุณสมบัติที่ทีมส่วนใหญ่ให้ความสำคัญ
Hoppscotch ใช้ข้อมูลการวนซ้ำแบบ CSV พร้อมจำนวนครั้ง:
hopp test ./collection.json --iteration-data ./users.csv --iteration-count 5
Apidog รองรับชุดข้อมูล CSV และ JSON ด้วย -d:
apidog run -t <scenario-id> -d ./users.csv -r cli,html
ความแตกต่างในทางปฏิบัติคือความยืดหยุ่นของรูปแบบ Hoppscotch อ่าน CSV; Apidog อ่าน CSV และ JSON ซึ่งมีความสำคัญเมื่อ fixture ของคุณซ้อนกันหรือมีอยู่แล้วในรูปแบบ JSON คู่มือการทดสอบที่ขับเคลื่อนด้วยข้อมูลของ Apidog CLI แสดงรูปแบบ CSV และ JSON เคียงข้างกัน
การรายงานผล
นี่คือความแตกต่างที่ชัดเจนที่สุด Hoppscotch CLI เขียน JUnit XML:
hopp test ./collection.json --reporter-junit ./report.xml
JUnit ได้รับการสนับสนุนอย่างกว้างขวาง ดังนั้นระบบ CI ส่วนใหญ่จึงแสดงผลลัพธ์ได้เองตามธรรมชาติ แต่มันเป็นรูปแบบที่มีโครงสร้างเพียงอย่างเดียวที่ CLI สร้างขึ้น
Apidog CLI สร้างรายงาน CLI, HTML และ JSON และสามารถผลักดันผลลัพธ์ไปยังคลาวด์เพื่อสร้างลิงก์ที่สามารถโฮสต์และแชร์ได้:
apidog run -t <scenario-id> -r cli,html,json
apidog run -t <scenario-id> --upload-report
หากคุณต้องการ HTML artifact แบบครบวงจรสำหรับผู้ตรวจสอบ PR หรือ URL รายงานที่โฮสต์เพื่อโพสต์ในช่อง Slack, Apidog รองรับรูปแบบที่หลากหลายกว่า คู่มือรายงานการทดสอบ Apidog CLI จะอธิบายแต่ละรูปแบบ หาก JUnit บนแดชบอร์ด CI ของคุณคือสิ่งที่คุณต้องการ Hoppscotch ก็ใช้ได้
โอเพนซอร์สและการโฮสต์ด้วยตนเอง
ในที่นี้ Hoppscotch ชนะด้วยเงื่อนไขของมันเอง ระบบนิเวศทั้งหมดเป็นโอเพนซอร์สและสามารถโฮสต์ด้วยตนเองได้ คุณจึงสามารถรันแบ็กเอนด์เองและเก็บข้อมูลคำขอออกจากคลาวด์ของผู้ให้บริการรายใดก็ได้ สำหรับทีมที่มีกฎระเบียบด้านถิ่นที่อยู่ของข้อมูลที่เข้มงวดหรือต้องการเครื่องมือแบบเปิด นั่นเป็นเหตุผลที่แท้จริงและสมเหตุสมผลในการเลือกใช้ สรุปทางเลือก Hoppscotch และ Postman เทียบกับ Hoppscotch ครอบคลุมระบบนิเวศที่กว้างขึ้น
Apidog ไม่ใช่โอเพนซอร์ส มี Free tier และจุดเด่นของมันไม่ใช่ "เปิดกว้างกว่า" แต่เป็น "รวมเข้าด้วยกันได้ดีกว่า"
นอกเหนือจากการรันการทดสอบ
นี่คือจุดที่ Apidog CLI ไม่ใช่แค่ runner อีกต่อไป มันจัดการทรัพยากร API เป็นโค้ด: การนำเข้า OpenAPI และการทำงานกับ endpoints, schemas, environments, branches และ merge requests จากเทอร์มินัล นั่นทำให้ CLI เป็นส่วนหนึ่งของเวิร์กโฟลว์สไตล์ Git แทนที่จะเป็นคำสั่งทดสอบครั้งเดียว
นอกจากนี้ยังเป็นส่วนติดต่อทางเทอร์มินัลของแพลตฟอร์มที่สมบูรณ์ โปรเจกต์เดียวกันนี้ขับเคลื่อนการออกแบบ API, mock servers, เอกสาร และการทดสอบ Hoppscotch CLI โดยการออกแบบแล้ว จะรัน collections และไม่มีอะไรมากไปกว่านั้น คุณต้องนำการออกแบบ การจำลอง และเอกสารมาจากที่อื่น
ข้อควรทราบอย่างซื่อสัตย์: Apidog CLI ไม่มี OpenAPI linter หรือคำสั่ง style-guide แบบ Standalone มันตรวจสอบ specs เมื่อนำเข้า แต่ไม่ได้ lint เหมือน linter เฉพาะทาง หากการตรวจสอบ spec ด้วยเทอร์มินัลเป็นข้อกำหนดที่เข้มงวด runner ทั้งสองนี้ไม่ใช่ linter ของคุณ เครื่องมืออย่าง Redocly CLI หรือ Spectral คือตัวเลือกที่เหมาะสม เปรียบเทียบข้อดีข้อเสียของ runner ใน Apidog CLI เทียบกับ Newman
ใครควรเลือกตัวไหนดี
- นักพัฒนาเดี่ยวหรือทีมที่เน้นโอเพนซอร์สซึ่งใช้ Hoppscotch อยู่แล้ว: Hoppscotch CLI ฟรี โฮสต์เองได้ JUnit เข้าสู่ CI จบ
- ทีมที่ต้องการแพลตฟอร์มเดียว สำหรับการออกแบบ, จำลอง, เอกสาร และทดสอบ พร้อมการรันที่ขับเคลื่อนด้วยข้อมูลผ่าน CSV/JSON และรายงาน HTML/JSON/คลาวด์: Apidog CLI ดาวน์โหลด Apidog และนำเข้า collection ที่มีอยู่เพื่อทดลองใช้
- เพียงแค่ต้องการรัน collection อย่างรวดเร็วใน CI โดยไม่มีความต้องการอื่นใด: ใช้ได้ทั้งคู่ เลือกตามแอปที่ collection ของคุณมีอยู่แล้ว
คำถามที่พบบ่อย
ทั้งสองรองรับการทดสอบที่ขับเคลื่อนด้วยข้อมูลหรือไม่? ใช่ Hoppscotch ใช้ --iteration-data (CSV) กับ --iteration-count; Apidog ใช้ -d กับ CSV หรือ JSON
ตัวไหนมีรายงานที่ดีกว่า? Hoppscotch เขียน JUnit XML Apidog เขียน CLI, HTML และ JSON รวมถึงรายงานบนคลาวด์ที่โฮสต์ไว้ หากคุณต้องการมากกว่า JUnit, Apidog รองรับรูปแบบที่หลากหลายกว่า
Hoppscotch CLI ฟรีและเป็นโอเพนซอร์สหรือไม่? ใช่ และสามารถโฮสต์ด้วยตนเองได้ เอกสารทางการ และ GitHub repo มีรายละเอียด Apidog มี Free tier แต่ไม่ใช่โอเพนซอร์ส
ฉันสามารถย้าย Hoppscotch collections ของฉันไปที่ Apidog ได้หรือไม่? ได้ ส่งออก collection และนำเข้า จากนั้นรันด้วย apidog run คู่มือการย้ายข้อมูล ครอบคลุมการแมปคำสั่ง
Runner ทั้งสองทำหน้าที่หลักได้ดี เลือก Hoppscotch CLI สำหรับโอเพนซอร์สและการโฮสต์ด้วยตนเอง; เลือก Apidog เมื่อคุณต้องการให้ runner เป็นส่วนหนึ่งของแพลตฟอร์ม API แบบครบวงจรที่มีการรันที่ขับเคลื่อนด้วยข้อมูลและรายงานที่หลากหลายกว่า
