Đây là bài đầu tiên trong loạt bài về cách viết JMeter script. JMeter script dùng để viết custom code để phục vụ các mục đích mà JMeter UI element không support, bất cứ chỗ nào có chứ JSR223 thì mình đều có thể viết code groovy vào đó.
Nội dung bài viết
I. Log trên JMeter
Để open log, bạn chọn vào icon warning.
Thông thường default của JMeter sẽ log thông tin log level: INFO
Nếu bạn muốn thấy nhiều thông tin hơn, bạn chọn vào option ALL.
JMeter dùng thư viện log4j2 để thực hiện log, bạn có thể config bằng tay ở file \bin\log4j2.xml
Để clear log, bạn ấn vào icon Clear All
II. Cách log thông tin
Trong các element JSR223, đều có 1 object log
để dùng luôn, không cần phải khởi tạo object thì mới log được, khá là tiện.
Mục đích của log để view thông tin dưới dạng text, như vậy chúng ta có thể xác định được các dòng code đã chạy đúng chưa. Cách log đơn giản như sau:
log.error("JSR223 Sampler : error") log.warn("JSR223 Sampler : warn") log.info("JSR223 Sampler : info") log.debug("JSR223 Sampler : debug") log.trace("JSR223 Sampler : trace")
- Vì log level của mình đang để là INFO, nên mình sẽ chỉ nhìn thấy thông tin của Error, Warning, Info. Các thông tin log loại Debug, Trace mình sẽ không nhìn thấy.
Và nếu có log ERROR thì sẽ hiện thị số error trên UI.
Câu hỏi đặt ra là:
- Vậy thì mình sẽ dùng log level nào?
- Tốt nhất là dùng INFO, đừng dùng các loại khác vì bạn muốn check xem các object đang chứa thông tin gì chứ ko phải để cảnh báo (Error, Warning), cũng không phải để debug (Debug, Trace).
Lưu ý, thông tin để log nó là dạng text hoặc number, muốn log object thì nên đảm bảo object đó có override toString()
nhé.
Cách log thông tin có sử dụng parameter.
def user = "something" log.info("user : {}", user)
Bạn sẽ dùng {}
để làm placeholder cho các parameter. Bạn có bao nhiêu parameter thì sẽ điền bấy nhiêu {}
.
def name = "giangtester" def age = 32 log.info("name={}, age={}", name, age)