Assertions trong JMeter

Bài viết này sẽ giới thiệu đến các bạn khái niệm Assertion và các loại Assertions được sử dụng trong JMeter

Assertion là gì?

Assertion giúp xác nhận rằng những dữ liệu mà máy chủ đang được kiểm thử trả về có đúng với yêu cầu đặt ra hay không.

Các loại Assertions

Response Assertion

TestPlan Assertion 1 png

Response Assertion cho phép thêm các chuỗi pattern trong phản hồi từ máy chủ.

Ví dụ: bạn gửi request đến trang web http://www.google.com và nhận phản hồi từ máy chủ. Bạn có thể sử dụng Response Assertion để xác minh xem phản hồi của máy chủ có chứa chuỗi pattern mong đợi ​​hay không (ví dụ: “OK”).

Bài viết này được đăng tại [kiso.vn]

Duration Assertion

Duration Assertion xác nhận mỗi phản hồi của máy chủ trong một khoảng thời gian nhất định. Bất kỳ phản hồi nào mất nhiều thời gian hơn số mili giây đã cho (do người dùng chỉ định) sẽ được đánh dấu là phản hồi thất bại.

Ví dụ: một user request được gửi đến www.google.com bởi JMeter và nhận được phản hồi trong thời gian mong đợi là ​​5 ms thì Test Case này pass, nếu không nhận được phản hồi trong ​​5 ms sẽ là failed.

TestPlan Assertion 2 png

Size Assertion

Size Assertion kiểm tra rằng mỗi phản hồi của máy chủ chứa số byte mong đợi. Bạn có thể chỉ định size bằng, lớn hơn, nhỏ hơn hoặc so sánh với một số byte nhất định nào đó.

JMeter gửi user request đến www.google.com và nhận gói phản hồi có size nhỏ hơn dự kiến ​​là 5000 bytes thì testcase pass. Nếu lớn hơn 5000 bytes sẽ là failed.

XML Assertion

XML Assertion kiểm tra rằng dữ liệu response data là dạng XML.

TestPlan Assertion 3 png

HTML Assertion

HTML Assertion cho phép người dùng kiểm tra cú pháp HTML trong dữ liệu phản hồi (response data). Nghĩa là dữ liệu phản hồi phải đáp ứng cú pháp HTML.

TestPlan Assertion 4 png

Sử dụng Response Assertion

Chúng ta đang sử dụng Response Assertion để so sánh gói phản hồi từ www.google.com khớp với chuỗi mong đợi ​.

Dưới đây là quá trình thực hiện:

TestPlan Assertion 5 png

Bảng điều khiển Response Assertion cho phép thêm các chuỗi Pattern để so sánh trong phản hồi từ server.

Bước 1. Thêm Response Assertion

Nhấp chuột phải vào Thread Group -> Add -> Assertions -> Response Assertion

TestPlan Assertion 6 png

Response Assertion hiển thị như hình dưới đây:

TestPlan Assertion 7 png

Bước 2. Thêm Pattern to test

Khi gửi yêu cầu đến máy chủ Google, có thể trả về một số response code (mã phản hồi) từ máy chủ như dưới đây:

  • 404: Server error
  • 200: Server OK
  • 302: Web server chuyển hướng đến các trang khác. Điều này thường xuyên xảy ra khi bạn truy cập google.com từ bên ngoài Hoa Kỳ. Google chuyển hướng đến trang web cụ thể theo quốc gia. Như hình bên dưới, google.com chuyển hướng đến google.co.in cho người dùng Ấn Độ.

TestPlan Assertion 8 gif

Giả sử bạn muốn xác minh rằng responses code của web server google.com có chứa pattern 302,

Trên Response Field To Test, chọn Response Code,

Trên Bảng Response Assertion, nhấp vào Add -> nhập 302 trong Pattern to Test.

TestPlan Assertion 9 png

Bước 3. Thêm Assertion Results

Nhấp chuột phải vào Add -> Listener -> Assertion Results

TestPlan Assertion 10 png

TestPlan Assertion 11 png

Bước 4. Chạy thử nghiệm

Nhấp vào Thread Group -> Assertion Result

Khi bạn đã sẵn sàng để chạy thử nghiệm, hãy nhấp vào nút Run trên thanh menu hoặc nhấn tổ hợp phím tắt Ctrl + R.

Kết quả kiểm thử sẽ hiển thị trên khung Assertion Results. Nếu mã phản hồi của máy chủ Google chứa mẫu 302, trường hợp kiểm thử này được passed. Bạn sẽ thấy thông báo hiển thị như sau:

TestPlan Assertion 12 png

Bây giờ trở lại Bảng Response Assertion, bạn thay đổi Pattern từ 302 thành 500.

TestPlan Assertion 13 png

Vì response code của máy chủ Google không chứa pattern này, bạn sẽ thấy trường hợp kiểm thử này Failed và hiển thị kết quả như sau:

TestPlan Assertion 14 png

Xử lý sự cố:

Nếu bạn gặp phải sự cố trong khi chạy các trường hợp kiểm thử trên, hãy làm như sau:

  1. Kiểm tra xem bạn đang kết nối với internet thông qua proxy. Nếu có, loại bỏ proxy.
  2. Khởi động JMeter.
  3. Mở AssertsTestPlan.jmx trong JMeter.
  4. Nhấp vào Thread Group -> Assertion Result.
  5. Chạy thử nghiệm

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *