การทดสอบ API endpoint เพียงครั้งเดียวนั้นตรงไปตรงมา คุณส่งคำขอ ตรวจสอบการตอบกลับ และยืนยันว่าทุกอย่างทำงานตามที่คาดไว้ ความท้าทายที่แท้จริงจะเริ่มต้นขึ้นเมื่อคุณต้องเรียกใช้การทดสอบเดียวกันกับชุดข้อมูลที่แตกต่างกันหลายสิบชุด หรือแม้กระทั่งหลายร้อยชุด การอัปเดตพารามิเตอร์และการส่งคำขอซ้ำๆ ด้วยตนเองนั้นไม่เพียงแต่เสียเวลาเท่านั้น แต่ยังเสี่ยงต่อข้อผิดพลาดและไม่สามารถขยายขนาดได้อีกด้วย
นี่คือจุดที่ การทดสอบ API แบบขับเคลื่อนด้วยข้อมูล (data-driven API testing) เข้ามามีบทบาท แทนที่จะต้องเขียนใหม่หรือส่งคำขอซ้ำๆ ด้วยมือ คุณสามารถกำหนดกรณีทดสอบเดียวและเรียกใช้โดยอัตโนมัติด้วยชุดข้อมูลอินพุตหลายชุด ผลลัพธ์ที่ได้คือความครอบคลุมที่กว้างขึ้น ความแม่นยำที่สูงขึ้น และลดความพยายามด้วยตนเองลงอย่างมาก
เพื่อให้การดำเนินการนี้มีประสิทธิภาพ คุณต้องมีเครื่องมือที่เหมาะสม Apidog โดดเด่นด้วยการนำเสนอการสนับสนุนดั้งเดิมสำหรับการทดสอบแบบขับเคลื่อนด้วยข้อมูลโดยใช้ไฟล์ CSV และ JSON ในฐานะแพลตฟอร์มการพัฒนาและทดสอบ API แบบ All-in-one, Apidog ช่วยให้คุณสามารถผูกไฟล์ข้อมูลภายนอกเข้ากับสถานการณ์การทดสอบและเรียกใช้ซ้ำๆ โดยตรวจสอบความถูกต้องของการตอบกลับแต่ละครั้งโดยอัตโนมัติ
ไม่ว่าคุณจะกำลังทดสอบขั้นตอนการเข้าสู่ระบบด้วยผู้ใช้ที่แตกต่างกัน, API การค้นหาด้วยการสอบถามที่หลากหลาย, หรือการสร้างทรัพยากรด้วยการรวมพารามิเตอร์หลายชุด Apidog จะช่วยขจัดงานซ้ำๆ และช่วยให้คุณบรรลุการทดสอบ API ที่เชื่อถือได้และครอบคลุมในเวลาอันสั้น
ตอนนี้ เรามาดูคำแนะนำฉบับสมบูรณ์ทีละขั้นตอนเกี่ยวกับการควบคุมการทดสอบ API แบบขับเคลื่อนด้วยข้อมูลโดยใช้ Apidog ร่วมกับ CSV และ JSON
คำแนะนำทีละขั้นตอนสำหรับการทดสอบ API แบบขับเคลื่อนด้วยข้อมูลด้วย CSV และ JSON

มาดูขั้นตอนทั้งหมดตั้งแต่การตั้งค่าไปจนถึงการดำเนินการ โดยใช้ตัวอย่างที่เป็นรูปธรรม เราจะทดสอบ API endpoint สำหรับการลงทะเบียนผู้ใช้
ขั้นตอนที่ 1: กำหนดคำขอ API พื้นฐานของคุณ
ขั้นแรก คุณสร้างคำขอ API ที่จะทำหน้าที่เป็นแม่แบบการทดสอบของคุณ
- ใน Apidog สร้างคำขอใหม่ไปยัง endpoint การลงทะเบียนผู้ใช้ของคุณ (เช่น
POST /api/v1/users) - ตั้งค่าหัวข้อ (เช่น
Content-Type: application/json) - ในแท็บ Body สร้าง JSON payload ของคุณ แทนที่จะฮาร์ดโค้ดค่า คุณจะใช้ ไวยากรณ์ตัวแปรไดนามิก
{{}}ของ Apidog เพื่อสร้างตัวยึดตำแหน่ง
{
"username": "{{username}}",
"email": "{{email}}",
"password": "{{password}}",
"role": "{{role}}"
}
สังเกตตัวยึดตำแหน่ง: {{username}}, {{email}}, ฯลฯ Apidog จะแทนที่สิ่งเหล่านี้ด้วยค่าจริงจากไฟล์ข้อมูลของคุณในระหว่างการดำเนินการ
ขั้นตอนที่ 2: สร้างไฟล์ข้อมูลทดสอบของคุณ (CSV หรือ JSON)
ตอนนี้ สร้างไฟล์ภายนอกที่จะป้อนข้อมูลเข้าสู่ตัวยึดตำแหน่งของคุณ
ตัวเลือก A: การใช้ไฟล์ CSV
CSV เหมาะสำหรับข้อมูลแบบตาราง สร้างไฟล์ user_data.csv:
username,email,password,role,expected_status
john_doe,john@example.com,SecurePass123!,user,201
jane_smith,jane@example.com,AnotherPass456!,admin,201
bad_user,not-an-email,short,user,400
duplicate_user,john@example.com,SomePass789!,user,409- แถวแรกกำหนดชื่อตัวแปร ที่ตรงกับตัวยึดตำแหน่งของคุณ (
username,email, ฯลฯ) บวกกับexpected_statusเพิ่มเติมสำหรับการตรวจสอบ - แต่ละแถวถัดไปคือกรณีทดสอบที่มีข้อมูลสำหรับการรันนั้น
ตัวเลือก B: การใช้ไฟล์ JSON
JSON เหมาะสำหรับโครงสร้างข้อมูลที่ซับซ้อนหรือซ้อนกัน สร้างไฟล์ user_data.json:
[
{
"username": "john_doe",
"email": "john@example.com",
"password": "SecurePass123!",
"role": "user",
"expected_status": 201
},
{
"username": "jane_smith",
"email": "jane@example.com",
"password": "AnotherPass456!",
"role": "admin",
"expected_status": 201
},
{
"username": "bad_user",
"email": "not-an-email",
"password": "short",
"role": "user",
"expected_status": 400
}
]
ขั้นตอนที่ 3: กำหนดค่าการทดสอบแบบขับเคลื่อนด้วยข้อมูลใน Apidog
นี่คือจุดที่เวิร์กโฟลว์แบบบูรณาการของ Apidog โดดเด่น
- ไปที่แท็บ "Test" ภายในแดชบอร์ดของคุณ (หรือสร้างกรณีทดสอบใหม่ในชุดทดสอบ)

2. คลิกเพื่อเพิ่มขั้นตอนการทดสอบใหม่และเลือกคำขอ POST /api/v1/users ของคุณ

3. อัปโหลดข้อมูลทดสอบ: คลิกที่ "Test Data" > "+New" เพื่ออัปโหลดไฟล์ user_data.csv หรือ user_data.json ของคุณ Apidog จะแยกวิเคราะห์และแสดงตัวอย่างแถวข้อมูลให้คุณเห็น


4. จับคู่ตัวแปร (หากจำเป็น): Apidog จะจับคู่ชื่อคอลัมน์ (CSV) หรือคีย์คุณสมบัติ (JSON) กับตัวยึดตำแหน่ง {{variable}} ในคำขอของคุณโดยอัตโนมัติ ตรวจสอบว่าการจับคู่ถูกต้อง
ขั้นตอนที่ 4: เขียน Assertions โดยใช้ตัวแปรข้อมูลของคุณ
พลังที่แท้จริงมาจากการตรวจสอบผลลัพธ์ที่คาดหวังที่แตกต่างกันโดยอิงจากข้อมูลอินพุตของคุณ ในแท็บ Test คุณจะเขียน assertions (เรียกอีกอย่างว่า "asserts" หรือ "checks")
สิ่งสำคัญคือ คุณสามารถอ้างอิงตัวแปรข้อมูลเดียวกันจากไฟล์ของคุณใน assertions ของคุณได้
ตัวอย่างเช่น เพิ่ม assertion Response Status Code:
- Expected Value:
{{expected_status}}
ซึ่งหมายความว่า: "สำหรับการรันการทดสอบครั้งแรก (john_doe) ให้ยืนยันว่ารหัสสถานะเท่ากับ 201 สำหรับการรันครั้งที่สาม (bad_user) ให้ยืนยันว่าเท่ากับ 400" assertion จะเปลี่ยนไปแบบไดนามิกกับการทำซ้ำแต่ละครั้ง
คุณสามารถเพิ่ม assertions ที่ซับซ้อนขึ้นได้โดยใช้ JavaScript ในส่วน Script ของ Apidog:
// Example: Validate response body for successful creation
pm.test("Status code is " + pm.variables.get("expected_status"), function () {
pm.response.to.have.status(pm.variables.get("expected_status"));
});
// Only check for user ID if we expect a successful creation
if (pm.variables.get("expected_status") === 201) {
pm.test("Response has user ID", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.id).to.be.a('number');
pm.expect(jsonData.username).to.eql(pm.variables.get("username"));
});
}
ขั้นตอนที่ 5: รันการทดสอบและวิเคราะห์ผลลัพธ์
คลิกปุ่ม Run Apidog จะดำเนินการขั้นตอนการทดสอบเดี่ยวของคุณหลายครั้ง ครั้งละหนึ่งแถวสำหรับข้อมูลแต่ละแถวในไฟล์ข้อมูลของคุณ
รายงานคือจุดที่ทุกอย่างรวมเข้าด้วยกัน:
Apidog นำเสนอ รายงาน ที่ชัดเจนและรวบรวมไว้ซึ่งแสดง:
- จำนวนครั้งที่ทำซ้ำทั้งหมด: (เช่น "4/4 ผ่าน")
- รายละเอียดสำหรับการรันข้อมูลแต่ละแถว: คุณสามารถขยายเพื่อดูคำขอที่ส่งจริง (พร้อมค่าที่ถูกแทนที่จริง) และการตอบกลับที่ได้รับสำหรับการทำซ้ำนั้นๆ
- ข้อผิดพลาดใดๆ จะถูกระบุไปยังแถวข้อมูลเฉพาะที่ทำให้เกิดปัญหา
duplicate_userล้มเหลวเนื่องจากสถานะไม่เป็น409ใช่หรือไม่ คุณจะเห็นได้ทันที
สิ่งนี้ทำให้การดีบักมีประสิทธิภาพอย่างเหลือเชื่อ คุณไม่จำเป็นต้องเดาว่ากรณีทดสอบใดล้มเหลว คุณจะรู้ว่าเป็นการทำซ้ำกับชุดข้อมูลเฉพาะ {"username": "duplicate_user", ...}
แนวทางปฏิบัติที่ดีที่สุดสำหรับการทดสอบ API แบบขับเคลื่อนด้วยข้อมูล
- ข้อมูลเฉพาะสภาพแวดล้อม: ผสมผสานการทดสอบแบบขับเคลื่อนด้วยข้อมูลเข้ากับ Environments ของ Apidog คุณอาจมีตัวแปร
base_urlในสภาพแวดล้อมของคุณที่เปลี่ยนแปลงจากการจัดทำ (staging) ไปสู่การใช้งานจริง (production) ในขณะที่ไฟล์ CSV ของคุณมีกรณีทดสอบที่ใช้ได้กับทั้งสองอย่าง - ข้อมูลทดสอบที่นำกลับมาใช้ใหม่ได้: จัดเก็บไฟล์ CSV/JSON ของคุณไว้ในที่ส่วนกลางภายในโปรเจกต์ Apidog ของคุณ ชุดทดสอบหลายชุดสามารถอ้างอิงไฟล์ข้อมูลเดียวกันได้ เพื่อให้มั่นใจถึงความสอดคล้องกัน
- สร้างไฟล์ข้อมูลด้วยโปรแกรม: สำหรับสถานการณ์ที่ซับซ้อน ให้ใช้สคริปต์ (Python, Node.js) เพื่อสร้างไฟล์
test_data.csvของคุณ ซึ่งเหมาะอย่างยิ่งสำหรับการทดสอบด้วยข้อมูลสุ่มหรือค่าที่หลากหลาย (เช่น การทดสอบการแบ่งหน้าด้วยการผสมผสานpageและlimitที่แตกต่างกัน 100 แบบ) - การตั้งค่า/ทำความสะอาดการทดสอบ: ใช้สคริปต์ก่อนการร้องขอและคุณสมบัติการทำลายการทดสอบของ Apidog ร่วมกับการทดสอบแบบขับเคลื่อนด้วยข้อมูล ตัวอย่างเช่น ก่อนการทำซ้ำแต่ละครั้งของการทดสอบ
DELETEคุณสามารถใช้สคริปต์ก่อนการร้องขอเพื่อสร้างทรัพยากรที่จะถูกลบ
สรุป: ปรับเปลี่ยนเวิร์กโฟลว์การทดสอบ API ของคุณ
การทดสอบแบบขับเคลื่อนด้วยข้อมูลใน Apidog ด้วยไฟล์ CSV/JSON ช่วยให้คุณเปลี่ยนจากการตรวจสอบด้วยตนเองที่ซ้ำซากไปสู่การตรวจสอบอัตโนมัติที่ครอบคลุม ซึ่งเป็นหลักการสำคัญของการทดสอบที่ดี: การทำให้ละเอียดถี่ถ้วนโดยไม่ลดทอนประสิทธิภาพ
ด้วยการทำให้ข้อมูลทดสอบของคุณเป็นภายนอก คุณจะสร้างเอกสารที่มีชีวิตของสถานการณ์การทดสอบที่ทุกคนในทีมของคุณสามารถอ่าน อัปเดต และทำความเข้าใจได้ง่าย การผสานรวมอย่างราบรื่นของเมธอดนี้ใน Apidog หมายความว่าไม่มีการตั้งค่าที่ซับซ้อน มีเพียงเส้นทางที่ตรงไปตรงมาสู่ API ที่น่าเชื่อถือยิ่งขึ้น
หยุดการทดสอบ API ทีละกรณี ดาวน์โหลด Apidog ฟรีวันนี้ นำเข้าไฟล์ CSV ไฟล์แรกของคุณ และสัมผัสประสบการณ์ว่าการทดสอบ API ที่ทรงพลังและมีประสิทธิภาพอย่างแท้จริงเป็นอย่างไร
