Home » API Testing » 8 ví dụ mẫu test API điển hình trong Postman

8 ví dụ mẫu test API điển hình trong Postman

Update: 31/05/2024

1. Kiểm tra trạng thái HTTP (Status code)

pm.test("Status code is 200", function () {
    pm.response.to.have.status(200);
});
  • Giải thích: Đoạn code này kiểm tra xem trạng thái HTTP của response có bằng 200 (thành công) hay không.
  • Hàm được sử dụng:
    • pm.test: Tạo ra một test case (trường hợp kiểm thử) với tên “Status code is 200”.
    • pm.response.to.have.status(200): Kiểm tra xem thuộc tính “status” của response có bằng 200 hay không.

2. Kiểm tra nội dung body của response

pm.test("Body matches string", function () {
    pm.expect(pm.response.text()).to.include("string_you_want_to_search");
});
  • Giải thích: Đoạn code này kiểm tra xem nội dung body của response (dưới dạng text) có chứa chuỗi “string_you_want_to_search” hay không.
  • Hàm được sử dụng:
    • pm.test: Tạo ra một test case với tên “Body matches string”.
    • pm.response.text(): Lấy nội dung body của response dưới dạng text.
    • pm.expect(pm.response.text()).to.include("string_you_want_to_search"): Kiểm tra xem nội dung body (được chuyển thành text) có chứa chuỗi “string_you_want_to_search” hay không.

3. Kiểm tra giá trị trong JSON response

pm.test("Your test name", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.value).to.eql(100);
});
  • Giải thích: Đoạn code này kiểm tra xem một giá trị có tên “value” trong JSON response có bằng 100 hay không.
  • Hàm được sử dụng:
    • pm.test: Tạo ra một test case với tên “Your test name”.
    • pm.response.json(): Chuyển đổi nội dung body của response sang object JSON.
    • var jsonData = pm.response.json(): Lưu trữ dữ liệu JSON được chuyển đổi vào biến jsonData.
    • pm.expect(jsonData.value).to.eql(100): Kiểm tra xem giá trị của thuộc tính “value” trong jsonData có bằng 100 hay không (to.eql kiểm tra bằng nhau về giá trị và kiểu dữ liệu).

4. Kiểm tra sự tồn tại của nội dung body

pm.test("Body is correct", function () {
    pm.response.to.have.body("response_body_string");
});
  • Giải thích: Đoạn code này kiểm tra xem nội dung body của response có chứa chuỗi “response_body_string” hay không (kiểm tra sự tồn tại, không phân biệt nội dung chính xác).
  • Hàm được sử dụng:
    • pm.test: Tạo ra một test case với tên “Body is correct”.
    • pm.response.to.have.body("response_body_string"): Kiểm tra xem response có thuộc tính “body” và giá trị của nó có chứa chuỗi “response_body_string” hay không.

5. Kiểm tra header của response

pm.test("Content-Type is present", function () {
    pm.response.to.have.header("Content-Type");
});
  • Giải thích: Đoạn code này kiểm tra xem header “Content-Type” có tồn tại trong response hay không.
  • Hàm được sử dụng:
    • pm.test: Tạo ra một test case với tên “Content-Type is present”.
    • pm.response.to.have.header("Content-Type"): Kiểm tra xem response có thuộc tính “headers” và headers có chứa key “Content-Type” hay không.

6. Kiểm tra thời gian phản hồi của request

pm.test("Response time is less than 200ms", function () {
    pm.expect(pm.response.responseTime).to.be.below(200);
});
  • Giải thích: Đoạn code này kiểm tra xem thời gian phản hồi của request có nhỏ hơn 200ms hay không.
  • Hàm được sử dụng:
    • pm.test: Tạo ra một test case với tên “Response time is less than 200ms”.
    • pm.response.responseTime: Lấy thời gian phản hồi của request (tính bằng mili giây).
    • pm.expect(pm.response.responseTime).to.be.below(200): Kiểm tra xem thời gian phản hồi có nhỏ hơn 200ms hay không (to.be.below kiểm tra nhỏ hơn).

7. Kiểm tra trạng thái HTTP của POST request

pm.test("Successful POST request", function () {
    pm.expect(pm.response.code).to.be.oneOf([201, 202]);
});
  • Giải thích: Đoạn code này kiểm tra xem trạng thái HTTP của POST request có phải là 201 (Created) hoặc 202 (Accepted) hay không.
  • Hàm được sử dụng:
    • pm.test: Tạo ra một test case với tên “Successful POST request”.
    • pm.response.code: Lấy mã trạng thái HTTP của response.
    • pm.expect(pm.response.code).to.be.oneOf([201, 202]): Kiểm tra xem mã trạng thái có nằm trong tập hợp [201, 202] hay không (to.be.oneOf kiểm tra xem giá trị có nằm trong một tập hợp các giá trị cho phép).

8. Kiểm tra tên của trạng thái HTTP

pm.test("Status code name has string", function () {
    pm.response.to.have.status("Created");
});
  • Giải thích: Đoạn code này kiểm tra xem tên của trạng thái HTTP có chứa chuỗi “Created” hay không.
  • Hàm được sử dụng:
    • pm.test: Tạo ra một test case với tên “Status code name has string”.
    • pm.response.to.have.status("Created"): Kiểm tra xem thuộc tính “status” của response có giá trị là “Created” (kiểm tra bằng nhau về giá trị).

9. Lưu ý

  • Đây chỉ là một số ví dụ về các assertion (kiểm tra) phổ biến trong Postman. Postman cung cấp nhiều assertion khác với chức năng đa dạng để đáp ứng các nhu cầu kiểm thử khác nhau.
  • Tham khảo tài liệu Postman để biết thêm thông tin chi tiết về các assertion và cách sử dụng chúng: https://learning.postman.com/docs/introduction/overview/
  • Sử dụng các assertion một cách hiệu quả sẽ giúp bạn tự động hóa việc kiểm tra API, đảm bảo tính chính xác và độ tin cậy của API, và nâng cao hiệu quả phát triển và kiểm thử API.