ในโลกของการพัฒนาซอฟต์แวร์และการทดสอบ API ที่มีความซับซ้อน การจัดการค่าคงที่ (Hardcoding) เป็นปัญหาคลาสสิกที่ส่งผลให้โค้ดและชุดการทดสอบขาดความยืดหยุ่น เมื่อระบบมีการเปลี่ยนแปลงสภาพแวดล้อม เช่น จาก Development ไป Staging หรือ Production ค่า Endpoint, Key, และ Token ต่างๆ จะต้องถูกปรับเปลี่ยนอย่างรวดเร็ว การมีกลไกในการแยกค่าเหล่านี้ออกจากตัว Request หลักจึงเป็นหัวใจสำคัญของการสร้างชุดการทดสอบที่มีประสิทธิภาพและสามารถนำกลับมาใช้ซ้ำได้ (Reusable).
เจาะลึกรายละเอียดและประเด็นสำคัญ
การทำความเข้าใจขอบเขต (Scope) ของตัวแปรใน Postman คือกุญแจสำคัญในการบริหารจัดการข้อมูลให้เป็นระเบียบ ตัวแปรไม่ได้มีเพียงแค่ “ค่า” แต่ยังมี “ระดับความเป็นเจ้าของ” ซึ่งกำหนดว่าเมื่อไหร่ที่ค่าเหล่านั้นจะถูกเรียกใช้และแทนที่ได้ โดยหลักการแล้ว เราต้องเข้าใจความแตกต่างระหว่าง Global, Environment และ Collection Variables เพื่อให้แน่ใจว่าเรากำลังดึงค่าจากแหล่งข้อมูลที่มีลำดับความสำคัญถูกต้อง
โดยทั่วไปแล้ว Postman จะใช้หลักการ Overriding (การเขียนทับ) เมื่อมีการเรียกใช้ตัวแปร ตัวแปรที่ถูกกำหนดในขอบเขตที่แคบกว่าจะมีลำดับความสำคัญสูงกว่าเสมอ นั่นหมายถึงค่าที่ตั้งไว้ใน Environment ที่กำลังใช้งานอยู่จะมีความสำคัญเหนือ Global Variable แม้ว่า Global Variable จะมีค่าที่ถูกต้องก็ตาม การเข้าใจลำดับนี้ช่วยให้เราสามารถสร้างระบบการทดสอบที่มีความยืดหยุ่นสูง โดยไม่ต้องแก้ไข Request Body ทุกครั้งที่เปลี่ยนสภาพแวดล้อม
Plain Text
// ตัวอย่างการเรียกใช้ตัวแปรใน Pre-request Script หรือ Body
const baseURL = pm.environment.get("base_url"); // ดึงค่าจาก Environment (ลำดับความสำคัญสูง)
const apiKey = pm.globals.get("default_api_key"); // ดึงค่าจาก Global
// หากไม่กำหนด base_url ใน Environment จะใช้ค่า fallback จาก Collection หรือ Global แทน