เกร็ดเล็กๆน้อยๆของการรับ-ส่งค่าระหว่าง API ใน Postman ที่หลายๆคนอาจจะหลงลืมว่า เจ้าตัว Postman มีสิ่งนี้อยู่กับตัว
โดย Postman ก็มีการกำหนด scope ของการใช้ variables ได้แก่
- Global
- Collection
- Environment
- Data
- Local
โดยวันนี้กาดเลือกใช้ Environment variables ในการรับส่งค่าระหว่างภายใน Collection ด้วยกันเอง มาเริ่มกันเลยยย ~
จงเปิด Application Postman ขึ้นมาาา ~
หลังจากเปิดตัวโปรแกรมของ Postman แล้วในแต่ละ Request ที่เราสร้างขึ้นมาจะมีหน้าตาแบบนี้ ให้ไปคลิกเลือกคำว่า “Tests”
เมื่อคลิกเข้าที่ Tests แล้วทางด้านขวามือของ Tests จะมี SNIPPETS ต่างๆขึ้นมาให้ ให้เลือก “Set an environment variable”
หลังที่คลิกแล้วจะขึ้น source code ขึ้นมา ดังนี้
pm.environment.set("variable_key", "variable_value");
- variable_key => ตั้งชื่อตัวแปรที่เราจะเอาไว้เรียกใช้
- variable_value => ค่าที่เราจะ assign ใส่ใน “variable_key”
Example
กาดมี API ที่จะใช้ต่อกันคือ submit order กับ confirm payment
pm.environment.set("order_id", jsonData.order_id);
กาดจะให้ value ของ order_id ที่ json response กลับมาเอาเก็บใส่ในตัวแปรที่กาดตั้งชื่อว่า order_id เพื่อเอาไว้ใช้สำหรับ API ตัวถัดไปของกาด
//Example set order_id
pm.test("OrderId is existed", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.order_id).to.exist;pm.environment.set("order_id", jsonData.order_id);
});
จากนั้นกาดจะมาเปลี่ยนใน Request ของ API confirm payment ของกาด จากที่เป็นการ fix value ของเลข order_id
ให้เปลี่ยนจากตัวเลข 8004359104 ให้เป็นตัวแปรที่เรากำหนดใน set environment จากแรก คือ {{order_id}}
จากนั้นลอง run test script
จะเห็นว่าสามารถ run test ผ่านเหมือนเดิม ให้มาลองเลือกใน “submit order” เพื่อดูว่า response ที่ได้กลับมาเป็นเลข แ หรือไม่
จากนั้นให้มาดูที่ request ของ “confirm payment” ต่อว่าเราได้เอาค่า order_id = 8004359104 มาใช้จริงหรือไม่
ลองอ่านและศึกษา variables อื่นๆ ต่อได้ที่ Reference เลย
Reference : https://learning.postman.com/docs/sending-requests/variables/