FileDummy Logo
FileDummy
Kiểm Thử & QA Với Tệp Tin

Kiểm Thử API Upload Tệp Bằng Postman: Multipart, Binary & Tự Động Hóa

Hướng dẫn cấu hình kiểm thử upload file trong Postman. Viết script assertion tự động kiểm tra mã phản hồi và schema cho kỹ sư QA.

14 tháng 9, 20269 phút đọc1,420 lượt xem
postmanapi-testingfile-uploadqamultipart

Kiểm thử API tải lên tệp bằng Postman là bước thiết yếu để xác minh quá trình xử lý tệp phía backend, encoding multipart, ranh giới xác thực và các endpoint presigned URL của cloud storage. Hướng dẫn này trình bày thiết lập toàn diện cho kiểm thử Postman tự động.

Thiết Lập Tải Lên Multipart/Form-Data Trong Postman

Khi kiểm thử các REST endpoint tiêu chuẩn nhận multipart/form-data, Postman cung cấp tính năng đính kèm tệp trực tiếp.

Bước 1: Cấu Hình Body Request

  1. Đặt phương thức HTTP là POST và nhập URL endpoint (ví dụ: https://api.example.com/v1/uploads).
  2. Chuyển đến tab Body và chọn form-data.
  3. Trong cột key, gõ tên trường mà máy chủ của bạn mong đợi (chẳng hạn file hoặc attachment).
  4. Di chuột qua rìa phải của trường key, nhấp vào dropdown và đổi kiểu từ Text sang File.
  5. Nhấp Select Files và chọn tệp kiểm thử mẫu.
Thử Nghiệm Thực Tế.docx

Cần tài liệu Word 10MB sạch để kiểm thử API tải lên tệp? Tải file mẫu đã được xác minh của chúng tôi.

Tải File Mẫu 10MB DOCX →

Kiểm Thử Postman Tự Động Cho API Tải Lên Tệp

Để xác minh trạng thái response, schema payload và thuộc tính tệp đã tải lên, sử dụng tab Tests script của Postman:

JavaScript
pm.test("Mã trạng thái là 201 Created", function () {
  pm.response.to.have.status(201);
});

pm.test("Response chứa metadata tệp hợp lệ", function () {
  const json = pm.response.json();
  pm.expect(json).to.have.property("fileId");
  pm.expect(json).to.have.property("fileSize");
  pm.expect(json.mimeType).to.eql("application/vnd.openxmlformats-officedocument.wordprocessingml.document");
});

pm.test("Thời gian xử lý tải lên dưới 2000ms", function () {
  pm.expect(pm.response.responseTime).to.be.below(2000);
});

Kiểm Thử Tải Lên Binary Raw (Octet-Stream)

Một số API thông lượng cao chấp nhận luồng nhị phân trực tiếp mà không có overhead multipart:

  1. Trong Body, chọn binary.
  2. Chọn tệp nhị phân kiểm thử của bạn.
  3. Trong tab Headers, đặt rõ ràng Content-Type thành application/octet-stream hoặc MIME type phù hợp.

Kiểm Thử Giới Hạn Kích Thước Tệp Và Phản Hồi Lỗi

Hãy tạo các test case âm trong Postman collection của bạn:

  • Tệp rỗng (0 byte): Xác minh máy chủ trả về HTTP 400 Bad Request với thông báo rõ ràng.
  • Tệp quá lớn (ví dụ 50MB vượt giới hạn 20MB): Xác minh HTTP 413 Payload Too Large.
  • Sai MIME type: Đảm bảo backend từ chối các định dạng không được phép với HTTP 415 Unsupported Media Type.
NDL

Nguyễn Đại Long

Tác Giả

Backend Lead • Chuyên gia Kiến trúc Hệ thống Phân tán & Lưu trữ Đám mây

Hơn 4 năm kinh nghiệm thiết kế các hệ thống xử lý tệp tải lên thông lượng lớn, tối ưu hóa cơ sở dữ liệu và hạ tầng phân tán Cloudflare R2 / AWS S3. Người sáng lập FileDummy và Mạng lưới Hệ sinh thái NDL.

Bài viết này có hữu ích không?

Bấm Thích để ủng hộ tác giả và giúp bài viết lan tỏa tới cộng đồng lập trình viên.

Thảo Luận Kỹ Thuật & Đóng Góp Ý Kiến (0)

Chia sẻ kết quả benchmark, phản hồi các trường hợp biên hoặc đặt câu hỏi chuyên môn.

0/3000

Chưa có bình luận nào. Hãy là lập trình viên đầu tiên bắt đầu cuộc thảo luận!

Câu Hỏi Thường Gặp (FAQ)

How do I upload a file in Postman using multipart/form-data?▾

In the request Body tab, select form-data, add a key with type File, then select your local file. Postman automatically sets the Content-Type: multipart/form-data header with the correct boundary — do not set it manually.

How do I upload a file as raw binary in Postman?▾

Select Body → binary, then choose your file. This sends the file as the raw request body without form encoding — useful for APIs expecting Content-Type: application/pdf directly in the body, or for direct S3 PUT uploads.

Why does Postman fail with large files?▾

Postman Desktop has no inherent size limit. Issues usually come from the API server: nginx body size limit, Express bodyParser limit, or AWS API Gateway's 10MB hard limit. Check server logs for 413 Request Entity Too Large errors.

Bài Viết Liên Quan