ตัวแปรช่วยให้คุณกำหนดชื่อให้กับค่าและนำกลับมาใช้ใหม่ได้ทุกที่ที่คุณต้องการ
ตัวอย่างเช่น แทนที่จะวาง API token ที่เปลี่ยนแปลงบ่อยครั้งลงในทุกๆ request คุณสามารถกำหนดตัวแปรเช่น ACCESS_TOKEN
และใช้ {{ACCESS_TOKEN}}
ใน request ของคุณ เมื่อโทเค็นหมดอายุ ให้อัปเดตตัวแปรเพียงครั้งเดียว และ request ทั้งหมดที่ใช้ตัวแปรนั้นจะรับค่าใหม่โดยอัตโนมัติ

ประเภทของตัวแปรโดยสรุป
Apidog รองรับตัวแปรหลายประเภท ซึ่งแต่ละประเภทออกแบบมาสำหรับสถานการณ์เฉพาะ คุณสามารถใช้: ตัวแปรส่วนกลางระดับทีม, ตัวแปรส่วนกลางระดับโปรเจกต์, ตัวแปรโมดูล, ตัวแปรสภาพแวดล้อม, ตัวแปรข้อมูลทดสอบ และตัวแปรโลคัล
ตัวแปรส่วนกลาง
ตัวแปรส่วนกลางช่วยให้คุณสามารถแบ่งปันข้อมูลได้อย่างกว้างขวาง มีสองประเภท:
ตัวแปรส่วนกลางระดับโปรเจกต์: จำกัดเฉพาะโปรเจกต์ปัจจุบัน เหมาะสำหรับการส่งข้อมูลระหว่าง request ในโปรเจกต์เดียวกัน ตัวอย่างเช่น จัดเก็บโทเค็นจาก login endpoint เป็นตัวแปรส่วนกลางระดับโปรเจกต์ จากนั้นนำกลับมาใช้ใหม่ใน request อื่นๆ ภายในโปรเจกต์นั้น

ตัวแปรส่วนกลางระดับทีม: ใช้ร่วมกันในทุกโปรเจกต์ในทีม เหมาะสำหรับการทำงานร่วมกันข้ามโปรเจกต์ ตัวอย่างเช่น หากบริการยืนยันตัวตนออกโทเค็นที่ใช้โดยหลายโปรเจกต์ ให้จัดเก็บเป็นตัวแปรส่วนกลางระดับทีม

หมายเหตุสิทธิ์: สมาชิกทั่วไปสามารถดูและเปลี่ยนค่าปัจจุบันของตัวแปรส่วนกลางระดับทีมที่มีอยู่เท่านั้น พวกเขาไม่สามารถเพิ่ม/ลบตัวแปรหรือเปลี่ยนชื่อได้ เฉพาะผู้ดูแลระบบทีมเท่านั้นที่สามารถจัดการตัวแปรระดับทีมได้อย่างสมบูรณ์ใน Team Resources → Variables

ตัวแปรโมดูล
ตัวแปรโมดูลถูกกำหนดขอบเขตเฉพาะโมดูล หากคุณนำเข้า Postman Collection ตัวแปรคอลเลกชันของมันจะถูกนำเข้าเป็นตัวแปรโมดูลของ Apidog
เหมาะสำหรับการกำหนดค่าเฉพาะโมดูล ตัวอย่างเช่น โปรเจกต์อาจมีโมดูลแยกต่างหากสำหรับผู้ใช้ คำสั่งซื้อ และผลิตภัณฑ์ ซึ่งแต่ละโมดูลสามารถเก็บการกำหนดค่าของตนเองไว้ในตัวแปรโมดูลได้

ตรวจสอบให้แน่ใจว่า Apidog เป็นเวอร์ชันล่าสุดเพื่อใช้ตัวแปรโมดูล
ตัวแปรสภาพแวดล้อม
ตัวแปรสภาพแวดล้อมน่าจะเป็นประเภทที่คุณใช้บ่อยที่สุด ช่วยให้คุณสลับระหว่างสภาพแวดล้อมได้โดยไม่ต้องเปลี่ยนการกำหนดค่าสำหรับแต่ละ request

ในทางปฏิบัติ คุณมักจะมีสภาพแวดล้อมหลายอย่าง (local, test, staging, production) แต่ละสภาพแวดล้อมมีที่อยู่เซิร์ฟเวอร์ การเชื่อมต่อฐานข้อมูล หรือการกำหนดค่าของบุคคลที่สามที่แตกต่างกัน ด้วยตัวแปรสภาพแวดล้อม คุณสามารถสลับไปมาระหว่างสภาพแวดล้อมเหล่านี้ได้ทันที
หมายเหตุ: สามารถเปิดใช้งานสภาพแวดล้อมได้เพียงหนึ่งเดียวในแต่ละครั้ง เมื่อคุณเลือกสภาพแวดล้อม ตัวแปรทั้งหมดที่กำหนดไว้ในนั้นจะมีผล

ตัวแปรข้อมูลทดสอบ
ตัวแปรข้อมูลทดสอบช่วยขับเคลื่อนการทดสอบที่ขับเคลื่อนด้วยข้อมูล เมื่อคุณต้องการทดสอบ endpoint เดียวกันด้วยชุดข้อมูลจำนวนมาก นี่คือสิ่งที่คุณต้องการ
เตรียมไฟล์ CSV หรือ JSON ที่มีหลายแถว (หรือออบเจกต์) ในสถานการณ์การทดสอบอัตโนมัติ ให้นำเข้าไฟล์ และ Apidog จะวนซ้ำแต่ละแถวเป็นชุดตัวแปรหนึ่งชุดและดำเนินการทดสอบสำหรับแต่ละแถว

ตัวแปรโลคัล
ตัวแปรโลคัลมีอายุการใช้งานสั้นที่สุด—มีผลเฉพาะระหว่าง request เดียวหรือการรันการทดสอบเท่านั้น พวกมันจะหายไปหลังจากดำเนินการ

เนื่องจากตัวแปรโลคัลมีลำดับความสำคัญสูงสุด จึงเหมาะสำหรับการแทนที่ตัวแปรประเภทอื่นชั่วคราว ตัวอย่างเช่น สภาพแวดล้อมของคุณกำหนด user_id
แต่สำหรับการทดสอบพิเศษหนึ่งครั้ง คุณต้องการค่าที่แตกต่างกัน—ให้ตั้งค่าตัวแปรโลคัลที่มีชื่อเดียวกันแทนที่จะเปลี่ยนสภาพแวดล้อม
ลำดับความสำคัญของตัวแปร
เมื่อตัวแปรหลายตัวมีชื่อเดียวกัน Apidog จะแก้ไขตามลำดับความสำคัญ (สูงสุดไปต่ำสุด): ตัวแปรโลคัล > ตัวแปรข้อมูลทดสอบ > ตัวแปรสภาพแวดล้อม > ตัวแปรโมดูล > ตัวแปรส่วนกลางระดับโปรเจกต์ > ตัวแปรส่วนกลางระดับทีม
ตัวอย่าง: หากคุณกำหนดตัวแปรสามตัวชื่อ userId
:
- ตัวแปรส่วนกลางระดับโปรเจกต์:
userId = 1000
- ตัวแปรโมดูล:
userId = 2000
- ตัวแปรสภาพแวดล้อม:
userId = 3000
เมื่อคุณใช้ {{userId}}
ใน request ค่าที่ใช้งานจริงคือ 3000
(จากสภาพแวดล้อม) หากไม่มีค่าจากสภาพแวดล้อม ระบบจะใช้ค่าจากโมดูล (2000
) จากนั้นจึงใช้ค่าส่วนกลางระดับโปรเจกต์ (1000
)
ค่าเริ่มต้น vs ค่าปัจจุบัน
ตัวแปรส่วนกลาง, โมดูล และสภาพแวดล้อมมีทั้งค่าเริ่มต้นและค่าปัจจุบัน ซึ่งช่วยรักษาสมดุลระหว่างการแบ่งปันข้อมูลในทีมกับความเป็นส่วนตัวส่วนบุคคล

- ค่าเริ่มต้นจะอยู่บนเซิร์ฟเวอร์ของ Apidog และซิงค์กับเพื่อนร่วมทีม ใช้สำหรับกำหนดค่าที่ใช้ร่วมกัน เช่น URL ของเซิร์ฟเวอร์ทดสอบและคีย์ API สาธารณะ
- ค่าปัจจุบันจะอยู่บนอุปกรณ์ของคุณเท่านั้น ใช้สำหรับข้อมูลลับ เช่น คีย์ API ส่วนตัว รหัสผ่าน หรือการตั้งค่าสภาพแวดล้อมส่วนตัว
เมื่อมีค่าปัจจุบันอยู่ Apidog จะเลือกใช้ค่าปัจจุบัน หากค่าปัจจุบันว่างเปล่า Apidog จะใช้ค่าเริ่มต้น หากต้องการให้ค่าปัจจุบันเป็นไปตามค่าเริ่มต้น? คลิกไอคอนลิงก์ถัดจากค่าปัจจุบันเพื่อผูกใหม่

ค่าปัจจุบันจะถูกจัดเก็บไว้ในอุปกรณ์ของคุณและอาจสูญหายได้หากคุณล้างแคชหรือเปลี่ยนอุปกรณ์ ใน Apidog เวอร์ชันเว็บ ค่าเหล่านี้จะถูกจัดเก็บไว้ในเบราว์เซอร์ หากต้องการย้ายไปยังอุปกรณ์ใหม่ ให้ส่งออก/นำเข้าสภาพแวดล้อมเพื่อย้ายค่าปัจจุบัน
หมายเหตุ: เมื่อรันการทดสอบอัตโนมัติด้วย Apidog CLI โปรดจำความแตกต่างที่สำคัญอย่างหนึ่ง: ไคลเอนต์ Apidog ใช้ค่าปัจจุบันในระหว่างการดำเนินการ ในขณะที่ CLI ใช้ค่าเริ่มต้น หากผลลัพธ์แตกต่างกันระหว่างไคลเอนต์และ CLI นี่คือสาเหตุทั่วไป
วิธีการตั้งค่าตัวแปร
เลือกวิธีการที่ตรงกับแหล่งที่มาของค่าและวิธีที่คุณจะใช้มากที่สุด
ตั้งค่าตัวแปรโดยตรงในหน้าการจัดการสภาพแวดล้อม
เป็นวิธีที่ตรงไปตรงมาที่สุด คลิกปุ่ม การจัดการสภาพแวดล้อม (ด้านบนขวา) สลับไปที่ส่วนกลางหรือสภาพแวดล้อมเฉพาะ จากนั้นเพิ่มชื่อและค่า

วิธีนี้เหมาะสำหรับการกำหนดค่าที่เสถียร เช่น การเชื่อมต่อฐานข้อมูล คุณสามารถตั้งค่าได้ทั้งค่าเริ่มต้น (ที่ใช้ร่วมกัน) และค่าปัจจุบัน (ส่วนตัว)
ใช้คุณสมบัติ "จัดเก็บตัวแปร"
บ่อยครั้งที่ค่าตัวแปรมาจาก response—เช่น โทเค็นจาก login endpoint หรือ ID ผู้ใช้จาก create-user endpoint ใช้ "Store Variable" แบบภาพใน Post Processors เพื่อตั้งค่าตัวแปรใหม่
ใน Post Processors ของ request ให้เพิ่ม "Store Variable" เลือกแหล่งที่มา (โดยทั่วไปคือ JSON response) และเลือกฟิลด์โดยใช้ JSONPath

ตัวอย่างเช่น หาก JSON response คือ:
{
"user": {
"id": "69",
"email": "Ralph85@gmail.com",
"first_name": "Katlynn",
"last_name": "Reichert",
"api_token": "dolore ut mollit Duis sit",
"created_at": "2025-09-19T01:03:50.236Z",
"updated_at": "2025-05-10",
"deleted_at": "2025-09-18T18:30:51.217Z",
"role": "developer",
"metadata": {}
}
}
ใช้ $.user.email
เพื่อดึงโทเค็น

คุณยังสามารถตั้งค่าตัวแปรได้โดยตรงจากส่วน response ของ request

ตั้งค่าตัวแปรผ่านสคริปต์
สำหรับตรรกะที่ซับซ้อนมากขึ้น ให้ใช้ Custom Script ใน Pre Processors หรือ Post Processors Apidog มี API สคริปต์ที่สมบูรณ์เพื่อจัดการตัวแปรทุกประเภท
// ตั้งค่าตัวแปรส่วนกลางระดับโปรเจกต์
pm.globals.set('variable_key', 'variable_value');
// ตั้งค่าตัวแปรส่วนกลางระดับทีม (ต้องกำหนดบนหน้า Team Resources ก่อน)
pm.globals.set('variable_key', 'variable_value', 'TEAM');
// ตั้งค่าตัวแปรสภาพแวดล้อม
pm.environment.set('variable_key', 'variable_value');
// ตั้งค่าตัวแปรโมดูล
pm.moduleVariables.set('variable_key', 'variable_value');
// ตั้งค่าตัวแปรโลคัล
pm.variables.set('variable_key', 'variable_value');
เมื่อจัดเก็บออบเจกต์หรืออาร์เรย์ ให้แปลงเป็นสตริงก่อนแล้วจึงแยกวิเคราะห์เมื่ออ่าน ตัวอย่างเช่น:
pm.environment.set('user', JSON.stringify(userObj));
const users = JSON.parse(pm.environment.get('user'));
หมายเหตุ: สคริปต์สามารถตั้งค่าได้เฉพาะค่าปัจจุบันของตัวแปรเท่านั้น ค่าเริ่มต้นควรตั้งค่าในหน้าการจัดการสภาพแวดล้อม
ใช้ข้อมูลฐานข้อมูลเป็นตัวแปร
Apidog สามารถดึงข้อมูลโดยตรงจากฐานข้อมูลและตั้งค่าเป็นตัวแปร ซึ่งเหมาะสำหรับการทดสอบที่อาศัยระเบียนจริง
เพิ่ม การดำเนินการฐานข้อมูล ใน Post Processors กำหนดค่าการเชื่อมต่อ และเขียน SQL จากนั้นดึงฟิลด์เข้าสู่ตัวแปรโดยใช้ JSONPath

เคล็ดลับในการใช้ตัวแปร
ตัวแปรใช้งานได้ที่ไหนบ้าง
ตัวแปรจะถูกแก้ไขเมื่อมีการส่ง request จริงเท่านั้น ซึ่งหมายความว่าคุณสามารถใช้ตัวแปรในส่วนหัว, พารามิเตอร์, เนื้อหา, สถานการณ์การทดสอบ และสคริปต์—ทุกที่ที่เกี่ยวข้องกับการส่ง request
เนื่องจาก Apidog เน้นการแสดงผลด้วยภาพเป็นหลัก กฎง่ายๆ คือ: หากคุณเห็นปุ่ม "ค่าไดนามิก" คุณสามารถใช้ตัวแปรได้ที่นั่น


ไวยากรณ์พื้นฐาน
ใช้เครื่องหมายวงเล็บปีกกาคู่เพื่ออ้างอิงตัวแปร: {{variableName}}
ซึ่งใช้งานได้ใน URL, ส่วนหัว, พารามิเตอร์ และเนื้อหา
ตัวอย่างเช่น ในพารามิเตอร์:

และในเนื้อหา:

หมายเหตุสำหรับเนื้อหา JSON: ตัวแปรสตริงต้องมีเครื่องหมายคำพูด ส่วนตัวแปรตัวเลขไม่จำเป็นต้องมีเครื่องหมายคำพูด วงเล็บปีกกาคู่อาจทำให้เกิดคำเตือน JSON lint แต่สามารถละเว้นได้อย่างปลอดภัย
หากคุณเห็น "ตัวแปรที่ไม่สามารถแก้ไขได้" อย่าตกใจ ตัวแปรที่ตั้งค่าใน Post Processors หรือสคริปต์อาจยังไม่มีอยู่จนกว่า request จะทำงาน และตัวแปรโลคัลจะหายไปหลังจากการทำงาน วิธีที่ดีที่สุดในการยืนยันคือการส่ง request จริงๆ
ดึงฟิลด์ย่อยจากตัวแปร
บางครั้งตัวแปรของคุณจัดเก็บออบเจกต์หรืออาร์เรย์ ไม่ใช่แค่สตริงหรือตัวเลขเท่านั้น ตัวอย่างเช่น user API มักจะส่งคืนออบเจกต์ที่มี id, name, email และอื่นๆ
สมมติว่าคุณจัดเก็บออบเจกต์ response นี้เป็นตัวแปรชื่อ user
:
{
"id": 1001,
"name": "Joe",
"email": "joe@example.com",
"role": "admin"
}
คุณสามารถอ้างอิงฟิลด์เฉพาะได้ด้วย dot notation เช่น {{user.id}}
(1001) หรือ {{user.name}}
("Joe")
สำหรับอาร์เรย์ก็คล้ายกัน หากคุณมีตัวแปร users
:
[
{"id": 1001, "name": "Joe"},
{"id": 1002, "name": "Rio"},
{"id": 1003, "name": "Outher"}
]
ใช้ {{users[0].name}}
เพื่อรับชื่อผู้ใช้คนแรก หรือ {{users[1].id}}
สำหรับ ID ของผู้ใช้คนที่สอง
สิ่งนี้เป็นไปตามความหมายคล้าย JSONPath—ชื่อตัวแปรทำหน้าที่เหมือน root ($
)
ใช้ตัวแปรในสคริปต์
คุณสามารถใช้ตัวแปรในสคริปต์ที่กำหนดเองของ Pre Processors หรือ Post Processors Apidog มีชุด API สคริปต์ที่สมบูรณ์ ซึ่งช่วยให้คุณเข้าถึงตัวแปรประเภทต่างๆ ได้อย่างยืดหยุ่น
// รับตัวแปรส่วนกลางระดับโปรเจกต์
pm.globals.get('variable_key');
// รับตัวแปรส่วนกลางระดับทีม
pm.globals.get('variable_key', 'TEAM');
// รับตัวแปรสภาพแวดล้อม
pm.environment.get('variable_key');
// รับตัวแปรโมดูล
pm.moduleVariables.get('variable_key');
// รับตัวแปรโลคัล
pm.variables.get('variable_key');
สำหรับออบเจกต์/อาร์เรย์ที่จัดเก็บเป็นสตริง ให้แยกวิเคราะห์ก่อน:
const userObj = JSON.parse(pm.environment.get('user'));
console.log(userObj.name);
การทดสอบที่ขับเคลื่อนด้วยข้อมูลด้วยตัวแปรข้อมูลทดสอบ
อัปโหลดไฟล์ CSV หรือ JSON ที่มีหลายแถวข้อมูล ในระหว่างการดำเนินการ Apidog จะแทนที่ {{variableName}}
ด้วยค่าจากแต่ละแถวและรันการทดสอบหนึ่งครั้งต่อแถว—เหมาะสำหรับการตรวจสอบความทนทานด้วยอินพุตจำนวนมาก


นิพจน์ค่าไดนามิก
นอกเหนือจากตัวแปรของคุณเองแล้ว Apidog ยังรองรับ ค่าไดนามิก ซึ่งสร้างข้อมูลสุ่มตามกฎเฉพาะ

ในสคริปต์ คุณสามารถประมวลผลสตริงที่รวมนิพจน์ไดนามิกด้วย await pm.variables.replaceInAsync()
:
const template = "Hello, {{$person.fullName}}";
const result = await pm.variables.replaceInAsync(template);
console.log(result); // แสดงผลชื่อที่สร้างแบบสุ่ม

ค่าไดนามิกเหมาะอย่างยิ่งสำหรับการสร้างข้อมูลทดสอบแบบสุ่มโดยไม่ต้องเตรียมชุดข้อมูลล่วงหน้า
สรุป
ตัวแปรเป็นหนึ่งในคุณสมบัติที่ทรงพลังที่สุดใน Apidog ช่วยลดการซ้ำซ้อน ทำให้การทดสอบมีความยืดหยุ่น และทำให้การสลับระหว่างโปรเจกต์และสภาพแวดล้อมง่ายขึ้น ไม่ว่าคุณจะแบ่งปันการตั้งค่าส่วนกลางข้ามทีม, ขับเคลื่อนการทดสอบด้วยข้อมูล CSV หรือแทนที่ค่าในเครื่อง ตัวแปรช่วยให้เวิร์กโฟลว์ของคุณมีประสิทธิภาพและเป็นระเบียบเรียบร้อย ด้วยการทำความเข้าใจประเภทตัวแปร ลำดับความสำคัญ และวิธีการตั้งค่า คุณสามารถมั่นใจได้ว่า request API ของคุณจะมีความสอดคล้องกัน บำรุงรักษาได้ และพร้อมสำหรับสถานการณ์จริง