Skip to content

Thel3leacH/API-Automate-testing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

คู่มือการ Execute API Tests ใน Postman

📥 การ Import Collection และ Environment

**ให้ทำการ download ไฟล์ collection.json และ environment.json ในโฟลเดอร์ Tests ก่อนครับ**

ขั้นตอนที่ 1: Import Collection

  1. เปิด Postman
  2. คลิก Import ที่มุมซ้ายบน
  3. นำไฟล์ Postman Collection - ReqRes API Automation Tests.json มา Import
  4. Collection จะปรากฏในแถบด้านซ้าย

ขั้นตอนที่ 2: Import Environment

  1. คลิก Import อีกครั้ง
  2. นำไฟล์ Postman Environment - ReqRes API Environment.json มา Import
  3. เลือก Environment "ReqRes API Environment" จาก dropdown ที่มุมขวาบน

🎯 วิธีการรัน Tests

วิธีที่ 1: รัน Test ทีละ Request (Manual Execution)

  1. เลือก Request ที่ต้องการทดสอบ จาก Collection
  2. คลิกปุ่ม Send
  3. ดูผลลัพธ์:
    • Status Code: แสดงที่มุมขวาบน
    • Response Body: แสดงที่แท็บ Body
    • Test Results: แสดงที่แท็บ Test Results
    • Response Time: แสดงถัดจาก Status Code

ตัวอย่างการรัน CREATE USER:

1. เลือก "1. CREATE USER" → "TC_CREATE_001"
2. คลิก Send
3. ตรวจสอบ Test Results:
   ✓ Status code is 201 Created
   ✓ Response has required fields
   ✓ Name and Job match input data
   ✓ ID is a valid number
   ✓ CreatedAt is valid ISO timestamp
   ✓ Response time is less than 2000ms

วิธีที่ 2: รัน Collection Runner (Automated Execution)

Collection Runner ใช้สำหรับรัน Test Cases หลาย ๆ อันพร้อมกัน

ขั้นตอน:

  1. คลิกขวาที่ Collection "ReqRes API Automation Tests"
  2. เลือก "Run collection"
  3. ตั้งค่า Runner:
    • ✅ เลือก Requests ที่ต้องการรัน (หรือเลือกทั้งหมด)
    • ✅ Iterations: 1 (สำหรับรันครั้งละ 1 รอบ)
    • ✅ Delay: 500ms (หน่วงเวลาระหว่าง request)
  4. คลิก "ReqRes API Automation Tests"

ผลลัพธ์ที่คาดหวัง:

Run Summary:
├── Total Requests: 10
├── Passed Tests: ~30+
├── Failed Tests: 0
├── Total Duration: < 10 seconds
└── Success Rate: 100%

วิธีที่ 3: รัน Tests แบบ Folder (Group Execution)

รัน Tests เฉพาะ API ที่ต้องการ:

  1. คลิกขวาที่ Folder:
    • "1. CREATE USER"
    • "2. GET SINGLE USER"
    • "3. UPDATE USER"
    • "4. DELETE USER"
  2. เลือก "Run folder"
  3. ตั้งค่าและคลิก Run

📋 Test Results Explanation

ความหมายของแต่ละ Test:

CREATE USER Tests:

  • Status code is 201 Created: ตรวจสอบว่า API สร้าง user สำเร็จ
  • Response has required fields: ตรวจสอบว่ามีฟิลด์ id, name, job, createdAt
  • Name and Job match input data: ตรวจสอบว่าข้อมูลที่ส่งไปตรงกับที่ได้กลับมา
  • ID is a valid number: ตรวจสอบว่า ID เป็นตัวเลข
  • CreatedAt is valid ISO timestamp: ตรวจสอบ format ของวันที่
  • Response time is less than 2000ms: ตรวจสอบประสิทธิภาพ

GET SINGLE USER Tests:

  • Status code is 200 OK: ตรวจสอบว่าดึงข้อมูลสำเร็จ
  • User ID is correct: ตรวจสอบว่าได้ user ที่ต้องการ
  • Response has all required user fields: ตรวจสอบความครบถ้วนของข้อมูล
  • Email format is valid: ตรวจสอบรูปแบบอีเมล
  • Data types are correct: ตรวจสอบ type ของข้อมูล

UPDATE USER Tests:

  • Status code is 200 OK: ตรวจสอบว่าอัปเดตสำเร็จ
  • Response has updatedAt field: ตรวจสอบว่ามี timestamp ของการอัปเดต
  • Name and Job are updated correctly: ตรวจสอบว่าข้อมูลถูกอัปเดต
  • UpdatedAt is recent: ตรวจสอบว่าอัปเดตเมื่อไม่นานมานี้

DELETE USER Tests:

  • Status code is 204 No Content: ตรวจสอบว่าลบสำเร็จ
  • Response body is empty: ตรวจสอบว่าไม่มีข้อมูลตอบกลับ

🔄 การรัน Tests แบบ Complete Flow

CRUD Flow Test:

ทดสอบการทำงานต่อเนื่องของ API ทั้งหมด

ลำดับการทดสอบ:

1. CREATE User (POST) → เก็บ userId
2. GET User (GET) → ตรวจสอบว่าสร้างสำเร็จ
3. UPDATE User (PUT) → แก้ไขข้อมูล
4. GET User (GET) → ตรวจสอบว่าแก้ไขสำเร็จ
5. DELETE User (DELETE) → ลบข้อมูล
6. GET User (GET) → ตรวจสอบว่าถูกลบ (404)

(กรณีสำหรับ url นี้ไม่สามารถทำ CRUD จริงๆได้ ผมจึงทดสอบเท่าที่จะ access เข้า API ได้เท่านั้น)

วิธีรัน:

  1. ใช้ Collection Runner
  2. เลือก Request ตามลำดับข้างบน
  3. ตรวจสอบว่าแต่ละขั้นตอน Pass

📊 การอ่านผลลัพธ์

✅ Test Passed (สีเขียว):

✓ Status code is 201 Created
✓ Response has required fields

= ทุกอย่างทำงานถูกต้องตามที่คาดหวัง

❌ Test Failed (สีแดง):

✗ Status code is 201 Created
  AssertionError: expected 400 to equal 201

= มีข้อผิดพลาด ต้องตรวจสอบ


🐛 Troubleshooting

ปัญหาที่พบบ่อย:

1. Test ไม่ Pass - Status Code ไม่ตรง

สาเหตุ: API อาจมีปัญหาหรือ URL ผิด แก้ไข:

  • ตรวจสอบ baseUrl ใน Environment
  • ลอง Send request ใหม่

2. Response Time เกิน 2000ms

สาเหตุ: Internet ช้าหรือ API ช้า แก้ไข:

  • เพิ่มค่า maxResponseTime ใน Environment
  • รันใหม่

3. Collection Variables ไม่ทำงาน

สาเหตุ: ลืมเลือก Environment แก้ไข:

  • เลือก "ReqRes API Environment" ที่มุมขวาบน

4. Cannot read property 'xxx' of undefined

สาเหตุ: Response structure ไม่ตรงกับที่คาดหวัง แก้ไข:

  • ตรวจสอบ Response Body
  • แก้ไข Test Script

📈 Best Practices

✅ ควรทำ:

  1. ✓ รัน Tests ก่อน Commit code
  2. ✓ ตรวจสอบ Response Time ทุกครั้ง
  3. ✓ ใช้ Environment Variables แทนการ Hardcode
  4. ✓ เพิ่ม Test Cases เมื่อพบ Bug
  5. ✓ Document ทุก Test Case ให้ชัดเจน

❌ ไม่ควรทำ:

  1. ✗ Hardcode URL หรือ Data ใน Request
  2. ✗ ข้าม Test ที่ Fail โดยไม่หาสาเหตุ
  3. ✗ ใช้ Production Data ในการทดสอบ
  4. ✗ รัน Tests บ่อยเกินไปโดยไม่จำเป็น

📝 Test Coverage Summary

API Operation Test Cases Status Codes Tested Validations
CREATE (POST) 3 201 Body, Fields, Types, Timestamp
GET 2 200, 404 Data structure, Types, Email format
UPDATE (PUT) 3 200 Updated data, Timestamp
DELETE 2 204 Empty response, Status
Total 10 4 codes 20+ validations

🎯 Expected Results Summary

ผลลัพธ์ที่คาดหวังจากการรัน Collection ทั้งหมด:

╔═══════════════════════════════════════╗
║   ReqRes API Automation Tests         ║
╠═══════════════════════════════════════╣
║  📊 Total Requests:        10         ║
║  ✅ Passed Tests:          30+        ║
║  ❌ Failed Tests:          0          ║
║  ⏱️  Avg Response Time:    < 500ms    ║
║  ✓  Success Rate:          100%       ║
╚═══════════════════════════════════════╝

Test Coverage:

  • CREATE USER: 10 assertions
  • GET SINGLE USER: 11 assertions
  • UPDATE USER: 12 assertions
  • DELETE USER: 6 assertions
  • Response Status Validation: 100%
  • Response Data Validation: 100%
  • Performance Testing: 100%

📞 หากพบปัญหา

  1. ตรวจสอบ Console Log ใน Postman
  2. ดู Request/Response ใน Network Tab
  3. ตรวจสอบ Environment Variables
  4. ลองรัน Test ทีละอันเพื่อหาปัญหา

About

API test with postman

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors