2011-06-23 36 views
18

Tôi đang sử dụng Nhóm chủ đề có số lượng chủ đề = 5 với yêu cầu HTTP.Số chủ đề hiện tại của Jmeter?

Trong văn bản yêu tôi muốn bao gồm một tham số với giá trị của số chủ đề, ví dụ,

"pageno": ${threadno} 

Tôi muốn nhận được số chủ đề như ${threadno}.

Tôi có thể làm như thế nào?

Trả lời

-2

${__threadNum} không làm việc tốt một mình.

Bạn sẽ cần sử dụng $ {__ eval ($ {__ threadNum})}. Cố gắng sử dụng này:

int threadNum=ctx.getThreadGroup().getNumThreads(); 

ctx là từ JmeterContext

+3

Tại sao bạn sẽ cần phải eval một số? '__threadNum' là tài liệu hoạt động tốt. Ngoài ra, số lượng các chủ đề không giống như số luồng hiện tại. –

13

Trong khi nêu trên ${__threadNum} sẽ làm việc ở nhiều nơi trong JMeter, bạn sẽ cần phải sử dụng cái gì khác mà nó không được cho phép, ví dụ , các phần tử script trong Pre/Post-Processors.

Câu trả lời này giải thích cách lấy số chuỗi hoặc đếm trong tập lệnh như vậy trong jMeter.

Để lấy số lượng chuỗi hiện tại (trong số 5 trường hợp của bạn), hãy sử dụng ctx.getThreadNum() để nhận số lượng chỉ.

Để nhận tổng số chủ đề đang được sử dụng bởi jMeter, bạn có thể sử dụng ctx.getThreadGroup().getNumThreads() hoặc ctx.getThreadGroup().getNumberOfThreads() cho tổng số chủ đề đang hoạt động.

https://jmeter.apache.org/api/org/apache/jmeter/threads/JMeterContext.html#getThreadNum() https://jmeter.apache.org/api/org/apache/jmeter/threads/AbstractThreadGroup.html

+0

Có lý do chính đáng nào để không sử dụng hàm '$ {__ threadNum}' được ghi lại không? –

+0

Có: có ít nhất hai dấu cách: a) các hộp nhập của các biểu mẫu GUI trong các phần tử jMeter: Có '$ {__ threadNum}' là đủ, có. Nhưng b) đó cũng là vùng kịch bản, chủ yếu là JSR223/groovy: Có cách tiếp cận có lập trình 'ctx.getThreadNum()' là cần thiết. Thay vì "biến" trước khi nhai, lập trình, người ta có được sức mạnh để làm hầu hết mọi thứ. – Franta

Các vấn đề liên quan