📋 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 |
|---|---|
| -s | Chạy im lặng, không hiện thanh tiến trình tải |
| -X POST | Gử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).