NỘI DUNG BÀI HỌC
✅ Cách thành phần cấu hình
✅ Ví dụ minh họa
✅ Best practices
📘 JMeter Response Assertion
1. Giới thiệu
Trong JMeter, Response Assertion là một Assertion (mệnh đề kiểm tra) dùng để xác minh kết quả phản hồi (response) từ server có đáp ứng đúng điều kiện mong đợi hay không.
Nếu điều kiện không thỏa mãn, JMeter sẽ đánh dấu request đó là lỗi (FAIL) trong báo cáo test.
Response Assertion thường được dùng để đảm bảo:
- API/Web trả về đúng status code.
- Response chứa dữ liệu mong đợi.
2. Cách thêm Response Assertion
- Chuột phải vào Sampler (HTTP Request, JDBC Request, …)
- Chọn Add → Assertions → Response Assertion
3. Cách thành phần cấu hình
1. Apply to (Phạm vi áp dụng)
-
Main sample only → Chỉ kiểm tra sample chính.
-
Sub-samples only → Chỉ kiểm tra sub-samples.
-
Main sample and sub-samples → Kiểm tra cả hai.
-
JMeter Variable → Kiểm tra trên một biến cụ thể.
2. Response Field to Test (Trường dữ liệu cần kiểm tra)
Xác định phần của response mà bạn muốn so khớp:
- Text Response → Nội dung body trả về.
- Response Code → HTTP Status Code (200, 404, 500 …).
- Response Message → Thông điệp HTTP (OK, Bad Request, …).
- Response Headers → Kiểm tra header trả về.
- Document (text) → Kiểm tra toàn bộ document (HTML, XML).
3. Pattern Matching Rules (Quy tắc so khớp)
Chọn cách so khớp với pattern:
- Contains → Response chứa chuỗi mong đợi.
- Matches → So khớp toàn bộ bằng Regular Expression.
- Equals → So khớp chính xác 100%.
- Substring → Response chứa đoạn chuỗi con.
- Not → Đảo ngược điều kiện (không chứa/không bằng).
4. Patterns to Test (Giá trị kiểm tra)
Danh sách các chuỗi hoặc regex mà bạn muốn kiểm tra trong response.
Ví dụ: success, 200, "status":"OK"

4. Ví dụ minh họa
✅ Ví dụ 1: Kiểm tra Status Code = 200
- Response Field to Test: Response Code
- Pattern Matching Rules: Equals
- Patterns to Test: 200

👉 Nếu server không trả về 200, request sẽ FAIL.
✅ Ví dụ 2: Kiểm tra body chứa từ khóa "success"
- Response Field to Test: Text Response
- Pattern Matching Rules: Contains
- Patterns to Test: success

👉 Request chỉ PASS khi response body chứa "success".
✅ Ví dụ 3: Kiểm tra Header có Content-Type = application/json
- Response Field to Test: Response Headers
- Pattern Matching Rules: Contains
- Patterns to Test: application/json
✅ Ví dụ 4: Negative Test – không được chứa lỗi
- Response Field to Test: Text Response
- Pattern Matching Rules: Contains + Not
- Patterns to Test: error
👉 Request sẽ FAIL nếu response chứa từ "error".
5. Best Practices (Thực hành tốt nhất)
- Không kiểm tra quá nhiều Assertion trong cùng một request → tránh làm chậm test.
- Chỉ kiểm tra các điều kiện quan trọng (status code, key response, message).
- Với JSON/XML phức tạp → nên dùng thêm JSON Assertion hoặc XPath Assertion thay vì chỉ dùng Response Assertion.
- Kết hợp Regex để kiểm tra dữ liệu động (ví dụ userId thay đổi theo từng request).
6. Khi nào nên dùng Response Assertion?
- Khi cần kiểm tra nhanh response trả về có chứa giá trị mong đợi.
- Khi muốn xác minh HTTP status code.
- Khi cần đảm bảo header hoặc message đúng chuẩn.
- Khi làm negative test để check thông báo lỗi.