postman-00
เนื่องจากทีมพัฒนาที่ทำด้วยนั้นใช้งาน Postman กันเยอะมาก ๆ
แต่เมื่อลงไปดูการใช้งาน พบว่ายังใช้ประโยชน์จาก Postman น้อยมาก ๆ
นั่นคือ ใช้เพียงทดสอบ API ว่าทำงานได้หรือไม่เท่านั้น
ดังนั้นจึงทำการแนะนำการใช้งานที่น่าจะมีประโยชน์ไว้นิดหน่อย

1. สร้าง Collection ไว้สำหรับเก็บชุดของ API ที่ทดสอบกันหรือไม่ ?

ส่วนใหญ่มักจะบันทึกรวม ๆ กันไว้โดยไม่แยกเป็นกลุ่ม
ทำให้มีปัญหาเมื่อมีจำนวน API เยอะ ๆ
ดังนั้นแนะนำให้บันทึกแยกเป็น Collection ไปนะ

postman-01

2. เมื่อเราสร้างเป็น Collection แล้วเราสามารถ run API ทั้งหมดในแต่ละ Collection ได้เลยนะ

เท่าที่เห็นคนใช้งาน Postman จะ run ทีละ API ไปเรื่อย ๆ
เห็นแล้วขัดใจน่าดู !!
ดังนั้นเมื่อสร้างเป็น Collection แล้วเราสามารถ run ทั้งหมดในการกดปุ่มเดียวเท่านั้น

postman-02

จากนั้นทำการกดปุ่ม Run และ Start Test ได้เลย
จะทำการทดสอบ API ทุกตัวใน Collection นั้น ๆ
รวมทั้งสามารถกำหนดจำนวนรอบในการทดสอบได้อีกด้วยนะ
ผลการทำงานเป็นดังนี้

postman-11

3. เมื่อเราต้องทำการ run API เดิมใน environment ต่าง ๆ จัดการอย่างไร ?

บางคนก็ทำการเปลี่ยน IP หรือ domain name ใน URL ของแต่ละ API เลย
บางคนดีขึ้นมาหน่อยบันทึกแยกกัน
บางคนดีขึ้นมาหน่อยทำการบันทึกแยก Collection
แต่ปัญหาที่ตามมาคือ ถ้า environment ต่าง ๆ เปลี่ยนล่ะ
เช่น IP หรือ domain name เปลี่ยน
สิ่งที่ต้องแก้ไขคือ เข้าไปแก้ไขใน API ทุก ๆ ตัวนะสิ !!
มันลำบากมาก ๆ

ดังนั้นสิ่งที่แแนะนำคือ การกำหนด environment ไปเลย

มีขั้นตอนดังนี้

เข้าไปจัดการ environment กัน

postman-04

ทำการสร้าง Environment แยกกันตามที่ต้องการ 
เช่น DEV, SIT, TEST และ UAT เป็นต้น

postman-05

โดยในแต่ละ environment ทำการเพิ่ม key และ value แยกตาม environment กันไป
เช่น SERVER-URL = my-domain.com

postman-06

ในการอ้างถึง key ใน Environment สามารถทำได้ด้วย {{key name}}
จากนั้นก่อนทำการ run แต่ละ API ก็ให้เลือกก่อนว่าจะทดสอบด้วย environment อะไร ?

postman-07

ถ้าสังเกตจะเห็นว่าในการ run แบบ Collection นั้น
สามารถเลือก Environment ได้ด้วยนะ
แถมสามารถจัดการข้อมูลทดสอบใน data file ทั้ง CSV และ JSON ได้อีกด้วย

4. API ต่าง ๆ ใน Postman สามารถ share กันได้นะ

ทั้งการทำงานเป็นทีม หรือ sync ผ่าน account ได้
แต่ที่ชอบใช้คือ การ export collection ออกมาเป็นไฟล์
จากนั้นเก็บไว้ใน Version Control ต่อไป

เมื่อมีการแก้ไขหรือเปลี่ยนแปลงก็ทำการ import เข้ามาใช้งาน
เพียงเท่านี้ก็ใช้งานร่วมกันได้แล้ว

postman-08

5. แต่ละ API เราสามารถเขียน script สำหรับการทดสอบได้นะ รู้ยัง ?

ทั้งการตรวจสอบ Response code
ทั้งการตรวจสอบข้อมูลที่ส่งกลับมา
และอื่น ๆ อีกมากมาย
ซึ่งทำได้มากกว่ามานั่งดูด้วยตานะครับ !!

postman-09

ยังไม่พอเราสามารถทำการ run Postman ผ่าน command line ได้อีกด้วยนะ

ซึ่งต้องติดตั้ง Newman ก่อน
ด้วยคำสั่ง

$npm install -g newman

จากนั้นทำการ export ทั้ง Collection และ Environment จาก Postman ออกมาเป็นไฟล์
และทำการ run ผ่าน newman ด้วยคำสั่ง

$newman -c <collection file>  -e <environment file>

จะแสดงผลการทำงานดังนี้

postman-10

สุดท้ายยังสามารถนำไปใส่ในระบบ Continuous Integration ได้อีกด้วย
คำถามคือ
วันนี้เราใช้ Postman กันอย่างไรบ้าง ?

Tags: