สวัสดีครับ สำหรับความนี้เราจะมาอยู่กับเครื่องมือในการใช้ทดสอบ API อย่าง Postman กัน แต่เราจะไม่ได้มาในแบบ Basic อย่างการสร้าง Workspace, Collection หรือ สร้าง Request เบื้องต้น แต่เราจะมาดูในส่วนของการใช้ JavaScript Object ของ Postman ในการทำ Pre-request Script และการทดสอบ ซึ่งตัวอย่างในการใช้งานเรามักจะเจอตามในรูปนี้เลย 👇
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-28-1024x612.png)
POSTMAN คืออะไร?
Postman เป็นเครื่องมือที่เอาไว้ทดสอบการทำงานของ API โดยที่เราไม่จำเป็นต้องมี Front-End หรือเขียนเว็บในฝั่งหน้าบ้าน ซึ่งเครื่องมือนี้ก็จะใช้กันอย่างแพร่หลายไม่ว่าจะเป็นเดฟมือใหม่ มือโปร ซึ่งสาเหตุที่เจ้าโปรแกรมนี้เป็นที่นิยมก็เพราะความใช้ง่ายมีฟีเจอร์ในการใช้งานมากมาย อย่างเช่น
- ใช้ส่ง HTTP request ไปยัง API endpoints ต่างๆ
- ตรวจสอบ header, parameter, payload และ responses
- จัดการ collections ของ request
- แถมยังเขียนเทส API ได้ด้วย ซึ่ง pm จะถูกใช้ในส่วนนี้เป็นหลักนี่แหละ
- เอาไว้ทำ API Document ก็ได้
- เหมาะสำหรับการเอาทำงานร่วมกับแบบสุดไม่ว่าจะเป็นเรื่องของการแชร์ Collection และ Environment ในทีมสามารถทำงานในทั้ง Dev, Test, Production ได้ง่าย
ใครยังไม่มีโปรแกรมสามารถดาวน์โหลดได้เลยที่ https://learning.postman.com/docs/getting-started/installation/installation-and-updates/
PM คืออะไร?
หากเราเห็นคำสั่ง pm ใน Postman มันคือ Postman JavaScript Object ที่เราสามารถเข้าเรียกใช้งาน Postman API จะตัวแปร pm แล้วตามด้วย . หรือ method ที่ Postman API มีให้ใช้ ซึ่งส่วนใหญ่แล้วเราจะใช้อยู่สองส่วนด้วยกันนั่นก็คือส่วนในการเขียน Pre-request Script และ Test Script ซึ่งทั้งคู่มีความแตกต่างกันดังนี้
- Pre-request Script: เป็นสคริปต์ที่จะทำงานก่อน Request จะถูกส่งออกไป ปกติแล้วเราเอาไว้ใช้ในการเตรียมข้อมูล หรือตั้งค่าอะไรบางอย่างก่อนทีจะกด Send Request
- Test Script: เป็นส่วนที่เอาไว้เขียนโค้ดทดสอบการทำงานหลังที่ส่ง Request ไปแล้ว และได้รับ Response มาจาก Server โดยปกติแล้วเราจะใช้วิเคราะห์ Response และเช็คว่าทุกอย่างถูกต้องหรือไม่
มันใช้ยังไงนะ?
ตัวอย่างการใช้ใน Pre-request Script
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-29-1024x261.png)
ตัวอย่างการใช้ Test Script
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-30-1024x675.png)
pm มีอะไรให้เราใช้ไดบ้าง
pm.variables.has() : เช็คว่ามีตัวแปรชื่อ…หรือไม่
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-35.png)
pm.variables.get() : ดึงค่าของตัวแปรชื่อ…
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-32-1024x596.png)
โดยตัวแปรจากในภาพจะเป็นตัวแปรที่มีการเก็บไว้ใน Environment
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-33-1024x140.png)
ต่อมาเราสามารถจัดการตัวแปรได้ทั้ง globals และ variables (แบบชั่วคราว) หรือเป็นส่วนที่เก็บไว้ใน Environment
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-34-1024x448.png)
หากเราไม่ใช้สามารถใช้คำสั่ง pm.globals.unset() ในการลบตัวแปรออกไปได้
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-36.png)
แต่หากต้องการลบทั้งหมดสามารถใช้ pm.globals.clear(); ได้
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-37-1024x807.png)
Assertions
Assertions ใน POSTMAN เป็นฟีเจอร์ที่ช่วยให้เราเช็ค Response จาก API ว่า ถูกต้องตามที่เราคาดหวังไว้หรือไม่ คล้าย ๆ กับตอนที่เราทำ Unit Test บน Jest และ Vitest เลย ซึ่งจากคำสั่งด้านบนก็จะมีส่วนที่ใช้ Assertion ตรง pm.test
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-38-1024x680.png)
Status code
รวมถึงเราสามารถทำการทำการตรวจสอบจาก Status Code ได้เหมือนกัน
![](https://b2dmain-ruk.cdn.jelastic.net/wp-content/uploads/2024/04/image-39-1024x473.png)
และนี่ก็เป็นตัวอย่างการสำหรับการใช้ POSTMAN JavaScript Object แบบไว ๆ ซึ่งหากใครอยากรู้คำสั่งเพิ่มเติมสามารถไปลุยกันต่อได้ที่ลิงก์นี้ได้เลยคร้าบบบ 👇
https://learning.postman.com/docs/writing-scripts/script-references/postman-sandbox-api-reference/