8 ví dụ mẫu test API điển hình trong Postman
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ếnjsonData
.pm.expect(jsonData.value).to.eql(100)
: Kiểm tra xem giá trị của thuộc tính “value” trongjsonData
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.
Tags: API, Javascript, Postman, Testing