เริ่มต้นทำ API Testing ด้วย Bruno ฉบับผู้เริ่มต้น
สวัสดีทุกท่านอีกครั้ง วันนี้เราจะพาทุกท่านมารู้จักกับ Bruno และวิธีการเขียน API Testing ด้วย Bruno กัน
เริ่มต้นทำ API Testing ด้วย Bruno ฉบับผู้เริ่มต้น
สวัสดีทุกท่านอีกครั้ง วันนี้เราจะพาทุกท่านมารู้จักกับ Bruno และวิธีการเขียน API Testing ด้วย Bruno กัน
Bruno คืออะไร?
Bruno คือ โปรแกรมทดสอบ API เหมือนกับ Postman โดยจุดเด่นของ Bruno คือเก็บ Collection ของ API ไว้ในเครื่องโดยตรง ทำให้สะดวกต่อการใช้งานร่วมกันกับ Git และ Version Control ต่าง ๆ แถมยังมี Bru ที่เป็น Markup ในการเก็บ log ของ Request ที่ส่งไปยัง API
ข้อแตกต่างระหว่าง Bruno และ Postman
- วิธีการจัดเก็บ Collection
- Postmanจะเก็บ Controller เป็นไฟล์ JSON เพียงไฟล์เดียวและบังคับให้ใช้งานผ่านระบบจัดการเวอร์ชัน (Version Controller) แบบรวมศูนย์ที่เป็นกรมสิทธิ์ของตนเอง
- Bruno จะจัดเก็บ Collection ไว้ในโฟลเดอร์บนเครื่องโดยตรงโดยใช้ภาษามาร์กอัปแบบข้อความธรรมดาที่ชื่อว่า Bru ในการบันทึกข้อมูล API requests สามารถใช้ Git หรือระบบ Version Control ใดๆ ที่ถนัดเพื่อทำงานร่วมกับทีมใน API collections ได้เลย เหมือนกับการเขียนโค้ดปกติ
2.วิธีการยิง API
- Postman จะส่ง API Request ผ่าน Proxy server ที่เป็นกรรมสิทธิ์ของ Postman เอง หมายความว่าเราไม่ได้ควบคุมข้อมูลของเราอย่างเต็มที่ การถูกบังคับให้ใช้ Proxy server ของพวกเขาอาจเป็นการเพิ่มความเสี่ยงด้านความปลอดภัย
- Bruno ส่ง API requests จากเครื่องคอมพิวเตอร์ของเราโดยตรง เราจึงเป็นผู้ควบคุมข้อมูลของตัวเองได้อย่างสมบูรณ์
3.การทำงานร่วมกันเป็นทีม
- Postmanจะเป็นฟีเจอร์สำหรับทำงานเป็นทีมต้องเสียเงิน (หลังจากใช้งานฟรีครบโควตา 3 คนแรก)
- Bruno: ใช้งานได้ฟรีและเป็นโปรแกรมเปิดเผยซอร์สโค้ด (Open source) เราสามารถใช้ Git หรือ Version Control อื่นๆ ในการทำงานร่วมกันได้
4.การเขียนสคริปต์แบบ Declarative (Declarative Scripting)
- Postman: บังคับให้เราต้องเขียนโค้ดสคริปต์ขึ้นมาเพื่ออัปเดตตัวแปรหลังจากได้รับผลลัพธ์ (Post-response variables)
- Bruno: รองรับการทำงานแบบ Declarative เราสามารถอัปเดตตัวแปร Post-response ได้ง่ายๆ โดยใช้เพียงนิพจน์ (Expression) สั้นๆ
การเขียน API Test ใน Bruno
ในการทำ API Test ของ Bruno จะคล้าย ๆ กันกับ Postman ก่อนอื่นเราต้องมี Bruno กันก่อนทุกท่านสามารถโหลดได้ที่ https://www.usebruno.com/downloads เรียบร้อยแล้วมาเริ่มกัน!
- เราจะสร้าง Collection ขึ้นมาก่อน และสร้าง Request ขึ้นมา

2.จากนั้นกด Create เราจะได้หน้าตาแบบนี้

3.กดที่ Scripts และเขียน Scripts ลงไป

- ในส่วน URL เราสามารถ Set ให้มันเป็น Environment, variable ได้เหมือน Postman
- โดยคลิกที่มุมขวา No Environment และกด Create

- เมื่อเรากด Create แล้วจะมีหน้าต่างขึ้นมาให้ใส่ name เมื่อกรอกเสร็จแล้วให้กด Create

- เมื่อกด Create เสร็จจะมาที่หน้านี้ให้เราทำการตั้งชื่อ และใสค่าลงไปจากนั้นกด Save

- เมื่อสร้างเสร็จแล้วเราสามารถแทนที่ URL ด้วย ค่าที่เราตั้งขึ้นแบบนี้

4.เมื่อเราเขียน Scripts เสร็จแล้วให้กด Save และกด Send เพื่อดู Response แต่เพราะเราเขียน Params แบบนี้เราเลยไม่สามารถ Run ได้ให้เราไป Run ที่ Collection

- เมื่อกด Run แล้วจะมาที่หน้านี้

- เราจะเห็นว่าบางฟังก์ชันไม่สามารถใช้งานได้ต้องจ่ายเงินก่อนแต่ถึงอย่างนั้นเมื่อเรากด Run แล้วจะได้หน้า Result แบบนี้

- โดยเราสามารถนำเข้า Data เพื่อทำการเทสต์ได้
- ก่อนอื่นต้องเข้าไปที่ไฟล์ ที่เก็บ Data ไว้ก่อนจากนั้นเปิด CMD แล้วรัน
bru run --csv-file-path data.csv
- เราจะได้ Result ประมาณนี้

นอกจากนี้ยังมีอีกวิธีนึงโดยเราจะเขียนผ่าน vs code ใช้ Bruno Extension

- โดย Bru จะเป็นรูปแบบของไฟล์ที่กำหนดจาก Bruno ของแต่ละ Request และเรายังสามารถ run collection / request ผ่าน command line ด้วยเครื่องมือที่ชื่อว่า Bruno-cli โดยใช้คำสั่ง
npm install -g @usebruno/cli
ทุกท่านจะเห็นได้ว่า บางฟีเจอร์ Bruno ก็ต้องเสียเงินเหมือนกัน แต่สำหรับนักพัฒนาทั่วไปและทีมที่ต้องการทำ Automated API Testing ร่วมกับ Git แค่เวอร์ชัน Open-source ก็มีฟีเจอร์ให้ใช้งานได้ครบถ้วนและครอบคลุมเพียงพอแล้ว หวังว่า Bruno จะเป็นเครื่องมืออีกทางเลือกหนึ่งสำหรับผู้ที่สนใจการทำ API Testing นะคะ ไว้เจอกันใหม่ค่ะ 😊
메타데이터
- post_id
- b44d073b4a13
- slug
- เริ่มต้นทำ-api-testing-ด้วย-bruno-ฉบับผู้เริ่มต้น-b44d073b4a13
- url
- https://medium.com/@lalafxh021046/%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99%E0%B8%97%E0%B8%B3-api-testing-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-bruno-%E0%B8%89%E0%B8%9A%E0%B8%B1%E0%B8%9A%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99-b44d073b4a13
- canonical_url
- https://medium.com/@lalafxh021046/%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99%E0%B8%97%E0%B8%B3-api-testing-%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2-bruno-%E0%B8%89%E0%B8%9A%E0%B8%B1%E0%B8%9A%E0%B8%9C%E0%B8%B9%E0%B9%89%E0%B9%80%E0%B8%A3%E0%B8%B4%E0%B9%88%E0%B8%A1%E0%B8%95%E0%B9%89%E0%B8%99-b44d073b4a13
- author_url
- https://medium.com/@lalafxh021046
- status
- ok
- fetched_at
- 2026-06-09 15:37:30