Hoppscotch CLI คืออะไร

Hoppscotch CLI คืออะไร? ติดตั้ง @hoppscotch/cli, เรียกใช้ hopp test ใน CI พร้อมสภาพแวดล้อม, การวนซ้ำที่ขับเคลื่อนด้วยข้อมูล และรายงาน JUnit คำสั่งและข้อจำกัดจะถูกอธิบายไว้

INEZA Felin-Michel

INEZA Felin-Michel

17 June 2026

Hoppscotch CLI คืออะไร

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

Hoppscotch เป็นระบบนิเวศ API แบบโอเพ่นซอร์ส ประกอบด้วยเว็บแอป เดสก์ท็อปแอป CLI และแบ็กเอนด์ที่สามารถโฮสต์ด้วยตนเองได้ ซึ่งมักถูกอธิบายว่าเป็นทางเลือกโอเพ่นซอร์สแทน Postman และ Insomnia Hoppscotch CLI เป็นส่วนที่นำคอลเลกชันที่คุณสร้างขึ้นในระบบนิเวศนั้นมาใช้งานจากเทอร์มินัล ซึ่งเป็นสิ่งที่คุณต้องการสำหรับการทำงานแบบ CI/CD

คู่มือนี้จะอธิบายว่า Hoppscotch CLI คืออะไร วิธีการติดตั้ง และวิธีการทำงานของคำสั่ง hopp test พร้อมด้วยแฟล็กจริงและตัวอย่าง CI ที่ใช้งานได้จริง หากคุณกำลังพิจารณาเปรียบเทียบกับรันเนอร์อื่น ๆ โพสต์ ทางเลือกที่ดีที่สุดสำหรับ Hoppscotch CLI จะเปรียบเทียบตัวเลือกต่าง ๆ และ Apidog CLI vs Hoppscotch CLI เป็นการเปรียบเทียบโดยตรง

ปุ่ม

Hoppscotch CLI คืออะไร

Hoppscotch CLI มาในรูปแบบของแพ็กเกจ npm @hoppscotch/cli หน้าที่ของมันนั้นเฉพาะเจาะจงและมีประโยชน์: คือการนำคอลเลกชัน Hoppscotch มาเรียกใช้ทุกคำขอในนั้น ประมวลผลสคริปต์ทดสอบที่แนบมากับคำขอเหล่านั้น และออกจากระบบด้วยรหัสผ่าน/ไม่ผ่านที่ไปป์ไลน์ของคุณสามารถอ่านได้

สิ่งนี้ทำให้มันเป็น collection runner ซึ่งอยู่ในหมวดหมู่เดียวกับ Newman สำหรับ Postman หรือ inso สำหรับ Insomnia มันไม่ได้ออกแบบ API, จำลอง endpoint หรือสร้างเอกสาร มันรันคำขอและตรวจสอบการยืนยัน สำหรับเครื่องมือฟรี โอเพ่นซอร์ส ที่คุณสามารถโฮสต์ด้วยตนเองได้ การมุ่งเน้นไปที่จุดนี้เป็นสิ่งสำคัญ

เนื่องจาก Hoppscotch เป็นโอเพ่นซอร์ส คุณสามารถเรียกใช้สแต็กทั้งหมดด้วยตนเองและชี้ CLI ไปยังอินสแตนซ์ของคุณเองได้ ทีมที่ไม่ต้องการให้ข้อมูลคำขอของพวกเขาอยู่ในคลาวด์ของผู้จำหน่ายมักจะชอบสิ่งนี้ ข้อแลกเปลี่ยนคือคุณจะต้องรับผิดชอบในการโฮสต์เอง

การติดตั้ง Hoppscotch CLI

ติดตั้งแบบ global จาก npm:

npm i -g @hoppscotch/cli

ข้อกำหนดหนึ่งที่ต้องระวัง: CLI ปัจจุบันต้องการ Node.js v22 หรือใหม่กว่า หากคุณยังใช้ Node 20 คุณสามารถใช้ CLI v0.26.0 ได้ แต่รุ่นล่าสุดจะรองรับ v22+ ตรวจสอบเวอร์ชันของคุณก่อนที่จะเชื่อมต่อเข้ากับ build agent:

node --version
hopp --version

หาก CI image ของคุณมาพร้อมกับ Node เวอร์ชันเก่า ให้ตรึงรันไทม์ไว้ที่ v22 ในไปป์ไลน์ มิฉะนั้นคุณจะพบข้อผิดพลาดในการติดตั้งหรือรันไทม์ที่ดูไม่เกี่ยวข้องกับการทดสอบของคุณ

คำสั่ง hopp test

ทุกอย่างทำงานผ่าน hopp test รูปแบบพื้นฐานจะชี้ไปที่ไฟล์คอลเลกชัน:

hopp test ./my-collection.json

คุณสามารถส่งไฟล์ environment และการหน่วงเวลาระหว่างคำขอได้:

hopp test ./my-collection.json -e ./staging.env.json -d 500

ในที่นี้ -e (หรือ --env) เป็นตัวกำหนด environment และ -d (หรือ --delay) จะรอจำนวนมิลลิวินาทีที่กำหนดระหว่างคำขอ ซึ่งช่วยได้เมื่อคุณกำลังใช้งาน API ที่มีข้อจำกัดด้านอัตรา (rate-limited API)

หากคอลเลกชันของคุณอยู่ในอินสแตนซ์ Hoppscotch (คลาวด์หรือโฮสต์เอง) แทนที่จะเป็นไฟล์ในเครื่อง คุณสามารถอ้างอิงด้วย ID และยืนยันตัวตนด้วยโทเค็นการเข้าถึงส่วนบุคคล:

hopp test <collection-id> --token <access_token> --server https://hoppscotch.your-company.com

--token ใช้เพื่อส่งโทเค็นการเข้าถึงส่วนบุคคลของคุณ และ --server ชี้ไปยัง URL ที่คุณโฮสต์ด้วยตนเอง หากคุณใช้ Hoppscotch cloud ที่โฮสต์อยู่ คุณสามารถละทิ้ง --server ได้

การรันแบบ Data-driven และการรายงาน

แฟล็กสองตัวเปลี่ยน hopp test จากการเรียกใช้ครั้งเดียวให้กลายเป็นสิ่งที่เหมาะกับ CI

สำหรับการทดสอบแบบ data-driven ให้ป้อนไฟล์ CSV และกำหนดจำนวนรอบที่จะรัน:

hopp test ./my-collection.json --iteration-data ./users.csv --iteration-count 3

--iteration-data รับไฟล์ CSV ซึ่งคอลัมน์จะกลายเป็นตัวแปรในการรันแต่ละครั้ง และ --iteration-count ควบคุมจำนวนครั้งที่คอลเลกชันจะทำซ้ำ ซึ่งเป็นแนวคิดเดียวกันกับ -d ของ Newman และครอบคลุมกรณีทั่วไปที่ต้องการ "เรียกใช้ขั้นตอนการเข้าสู่ระบบนี้กับ 50 บัญชี"

สำหรับการรายงาน CLI จะสร้าง JUnit XML ซึ่งระบบ CI ส่วนใหญ่สามารถนำเข้าเพื่อแสดงผลการทดสอบได้ทันที:

hopp test ./my-collection.json --reporter-junit ./report.xml

JUnit เป็นรูปแบบรายงานที่มีโครงสร้างเพียงอย่างเดียวที่ CLI สร้างขึ้น หากคุณต้องการไฟล์ HTML หรือรายงานที่โฮสต์และลิงก์ได้ นั่นคือช่องว่างที่ควรทราบก่อนที่คุณจะตัดสินใจ เครื่องมืออย่าง Apidog CLI จะออกรายงาน CLI, HTML และ JSON เพื่อการเปรียบเทียบ

สิ่งที่ดำเนินการจริงระหว่างการรัน

เมื่อคุณรัน hopp test, CLI จะดำเนินการตามคอลเลกชันตามลำดับ และสำหรับคำขอแต่ละรายการจะ:

สคริปต์ทดสอบใช้ Hoppscotch's scripting API: pw.test() กำหนดบล็อกทดสอบ และ pw.expect() ทำการยืนยันภายในนั้น ตัวอย่างเล็ก ๆ ที่แนบมากับคำขอมีลักษณะดังนี้:

pw.test("สถานะคือ 200", () => {
  pw.expect(pw.response.status).toBe(200);
});

หากการยืนยันใดๆ ล้มเหลว คำสั่งจะออกด้วยรหัสที่ไม่ใช่ศูนย์ หากทุกอย่างผ่าน จะออกด้วยรหัส 0 พฤติกรรมการออกรหัสนี้คือข้อตกลงทั้งหมดกับ CI: การออกด้วยรหัสที่ไม่ใช่ศูนย์จะทำให้ build ล้มเหลว ซึ่งเป็นสิ่งที่คุณต้องการอย่างแท้จริง

ตัวอย่าง GitHub Actions

การเชื่อมต่อ hopp test เข้ากับ CI นั้นสั้นมาก เวิร์กโฟลว์นี้จะติดตั้ง CLI บนรันเนอร์ Node 22 และรันคอลเลกชันเมื่อมีการ push ทุกครั้ง:

name: API tests
on: [push]
jobs:
  hopp:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - run: npm i -g @hoppscotch/cli
      - run: hopp test ./collection.json -e ./ci.env.json --reporter-junit ./report.xml

ขั้นตอน setup-node ที่ตรึงเวอร์ชัน v22 เป็นส่วนที่คนมักจะลืม หากไม่มีขั้นตอนนี้ Node รันเนอร์เริ่มต้นอาจจะเก่าเกินไปสำหรับ CLI ปัจจุบัน

ข้อจำกัดที่ควรพิจารณา

Hoppscotch CLI ทำงานได้ดีในขอบเขตของมันและมีความซื่อสัตย์เกี่ยวกับขอบเขตนั้น:

สิ่งเหล่านี้ไม่ใช่ข้อเสีย แต่เป็นราคาของเครื่องมือโอเพ่นซอร์สขนาดเล็กและฟรี หากความต้องการของคุณเติบโตเกินกว่า "รันคอลเลกชันใน CI" ไปสู่การออกแบบ, การจำลอง, การรันแบบ data-driven พร้อมรายงานที่หลากหลายขึ้น และการจัดการทรัพยากร API เป็นโค้ด นั่นคือจุดที่แพลตฟอร์มแบบรวมเข้ามามีบทบาท Apidog ครอบคลุมวงจรชีวิต API ทั้งหมด และ คู่มือฉบับสมบูรณ์ของ Apidog CLI แสดงด้านเทอร์มินัล คุณสามารถ ดาวน์โหลด Apidog และนำเข้าคอลเลกชัน Hoppscotch เพื่อเปรียบเทียบโดยตรง หรืออ่าน คำแนะนำการย้ายข้อมูล

คำถามที่พบบ่อย

Hoppscotch CLI ฟรีหรือไม่? ใช่ เป็นโอเพ่นซอร์สภายใต้โครงการ Hoppscotch และคุณสามารถโฮสต์ระบบนิเวศทั้งหมดด้วยตนเองได้ ดู เอกสาร CLI อย่างเป็นทางการ และ GitHub repo

ความแตกต่างระหว่าง hopp test และ Newman คืออะไร? ทั้งสองเป็น collection runner ที่มีการวนซ้ำแบบ data-driven Newman รัน Postman collections; hopp test รัน Hoppscotch collections แนวคิดจะใกล้เคียงกัน รวมถึงข้อมูลการวนซ้ำจาก CSV และการผ่าน/ไม่ผ่านตามรหัสออก

Hoppscotch CLI สามารถรันคอลเลกชันจากเซิร์ฟเวอร์ที่โฮสต์เองได้หรือไม่? ได้ ใช้ hopp test <collection-id> --token <access_token> --server <your-url> เพื่อดึงและรันคอลเลกชันจากอินสแตนซ์ของคุณเอง

มันสร้างรายงาน HTML หรือไม่? ไม่โดยตรง มันสร้าง JUnit XML ผ่าน --reporter-junit สำหรับรายงาน CLI, HTML และ JSON พร้อมกัน ลองเปรียบเทียบกับ รายงานการทดสอบ Apidog CLI

Hoppscotch CLI เป็นวิธีที่สะอาดและฟรีในการรัน API collections ใน CI โดยเฉพาะอย่างยิ่งหากคุณใช้ Hoppscotch หรือโฮสต์ด้วยตนเองอยู่แล้ว รู้ขอบเขตของมัน, ตรึง Node v22 และใช้ประโยชน์จากเอาต์พุต JUnit มันจะทำงานเดียวของมันได้ดี

ปุ่ม

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API