Mmaiqai.com
📋 Automation Testing · Chương 10 · Mục 10.2

Gọi thử bằng curl để xác nhận hành vi thật

Tài liệu mô tả API nên hoạt động ra sao, nhưng hành vi thật đôi khi khác — cách chắc chắn nhất là tự gọi thử. curl là công cụ gọi API từ dòng lệnh, có sẵn trên Windows 10/11, không cần cài thêm.

Ví dụ: gọi POST /auth với mật khẩu sai:

TERMINAL
curl -s -X POST https://restful-booker.herokuapp.com/auth -H "Content-Type: application/json" -d "{\"username\":\"admin\",\"password\":\"sai-mat-khau\"}"
Thành phầnÝ nghĩa
-sChạy im lặng, không hiện thanh tiến trình tải
-X POSTGửi phương thức POST
-H "Content-Type: application/json"Báo cho server biết dữ liệu gửi lên là JSON
-d "{...}"Nội dung gửi lên (body)

Kết quả:

KẾT QUẢ
{"reason":"Bad credentials"}

Xem thêm mã trạng thái HTTP thật (curl mặc định không hiện):

TERMINAL
curl -s -o /dev/null -w "HTTP status: %{http_code}\n" -X POST https://restful-booker.herokuapp.com/auth -H "Content-Type: application/json" -d "{\"username\":\"admin\",\"password\":\"sai-mat-khau\"}"

Kết quả:

KẾT QUẢ
HTTP status: 200

Phát hiện quan trọng: tài liệu không hề nói rõ điều này — sai mật khẩu vẫn trả về HTTP 200 (không phải 401 như trực giác thường nghĩ), chỉ khác ở nội dung body. Nếu không tự gọi thử, rất dễ viết test sai (kiểm tra status 401 và không bao giờ thấy nó xảy ra).