Processor trong JMeter
Processor được sử dụng để thay đổi các Samplers trong phạm vi nhất định. Có 2 loại processors trong JMeter, đó là Pre-processor và Post-processor.
Pre-processor
Pre-processor thực hiện một số hành động trước khi thực hiện Sampler Request
Hãy xem xét một ví dụ đơn giản: giả sử bạn muốn JMeter thông qua trang web được kiểm thử, parse link (kiểm tra tất cả các liên kết trên trang) và trả về HTML. Bạn sẽ thêm một số aciton như "HTML link parser" vào controller trước khi tạo một HTTP request.
Post-processor
Post-processor thực hiện một số hành động sau khi thực hiện Sampler Request.
Bài viết này được đăng tại [free tuts .net]
Hãy xem xét một ví dụ đơn giản: JMeter gửi HTTP request đến máy chủ web đang được kiểm thử ( www.google.com) và nhận được phản hồi. Bạn muốn JMeter dừng test nếu phản hồi của máy chủ có error. Bạn có thể sử dụng Post-processor để thực hiện công việc trên như sau:
Ví dụ:
Hãy bắt đầu với kịch bản thử nghiệm đơn giản:
- JMeter gửi HTTP request đến máy chủ web www.google.com.
- JMeter nhận được phản hồi từ máy chủ Google.
- Nếu phản hồi của máy chủ là error, JMeter sẽ dừng kiểm tra.
- Nếu máy chủ phản hồi OK (không có error), JMeter sẽ tiếp tục kiểm tra.
Dưới đây là quy trình thực hiện ví dụ này:
Điều kiện tiền đề:
Sử dụng lại Bước 1 và Bước 2 trong bài viết Sử dụng JMeter cho performance testing.
Bước 1: Thêm Thread Group
Nhấp chuột phải vào Test Plan và thêm một thread group mới: Add -> Threads (Users) -> Thread Group
Trong bảng điều khiển Thread Group, nhập Thread Properties cho phép JMeter tạo 10 user requests tới http://www.google.com 10 lần như sau:
Bước 2: Thêm JMeter elements
- Thêm HTTP request default
- Thêm HTTP request
Bước 3: Thêm Post-Processor Element
Nhấp chuột phải vào Thread Group -> Add -> Post Processor -> Result Status Action Handler
Result Status Action Handler cho phép người dùng dừng thread hoặc dừng toàn bộ kịch bản nếu user requests không thành công.
.
Trong Result Status Action Handle, chọn Stop Test Now. Lựa chọn này sẽ dừng kiểm thử nếu JMeter gặp lỗi từ phản hồi của máy chủ.
Bước 4: Cấu hình HTTP Request
Mở bảng điều khiển HTTP Request. Nhập "abc" vào trường Path.
Khi bạn nhập "abc" vào Path, JMeter sẽ tạo một URL request tới máy chủ Google: http://www.google.com/abc. URL này không tồn tại trên máy chủ Google. Đó là URL request sai nên máy chủ Google sẽ trả về lỗi.
Bước 5: Thêm View Result Tree
Nhấp chuột phải vào Thread Group -> Add -> Listener -> View Result Tree
Bước 6: Chạy kiểm thử
Chọn View Result Tree, nhấn nút Run trên thanh Menu. Bạn sẽ thấy phản hồi error từ máy chủ Google và script sẽ dừng khi hoàn thành 100 threads.
Bây giờ quay lại bước 4, mở HTTP Request, nhập "calendar". JMeter sẽ tạo URL request http://www.google.com/calendar đến máy chủ Google. Đây là URL request chính xác, máy chủ Google sẽ trả về OK (không có error).
Chọn View Result Tree, nhấn nút Run trên thanh Menu. Bạn sẽ thấy phản hồi OK từ máy chủ Google và script sẽ tiếp tục cho đến khi 100 threads được hoàn thành.
Xử lý sự cố:
Nếu bạn gặp phải sự cố trong khi chạy kịch bản trên, hãy làm như sau:
- 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.
- Khởi động Jmeter.
- Mở ProcessorTestPlan.jmx trong Jmeter.
- Nhấp đúp vào Thread Group -> View Results Tree.
- Chạy thử nghiệm