我有一個要測試性能的寄存器REST服務。只需要爲每個循環/線程請求更改參數mobilenumber在JMeter中遞增用戶自定義變量
作爲負載測試的一部分,如何在將多個測試進行線程化/循環時,如何增加我的用戶定義變量(通過增量值存儲爲另一個udv)。
想有一個JSR 233的預處理器,所有成功註冊請求
我不想使用CSV因爲我只有一個參數的改變
我念叨var.get ()和vars.put()函數,這些函數可以被使用,但不能正確使用它。
嘗試以下代碼 - 日誌中的代碼如下所示
log.info("Before execution")
log.info("${mobileNumber}") // my udv mobileNumber
log.info("${increment}") // my udv increment value
inc = ${increment}
long number = Long.parseLong(vars.get("mobileNumber"))
number = number + inc
log.info("Incremented number")
log.info(String.valueOf(number))
vars.put("mobileNumber", String.valueOf(number))
log.info("After Execution")
log.info("${mobileNumber}")
日誌:
2014/11/25 09:25:26 INFO - jmeter.threads.JMeterThread: Thread started: Dummy services 1-1
2014/11/25 09:25:26 INFO - jmeter.protocol.java.sampler.JSR223Sampler: Before execution
2014/11/25 09:25:26 INFO - jmeter.protocol.java.sampler.JSR223Sampler: 9990000000
2014/11/25 09:25:26 INFO - jmeter.protocol.java.sampler.JSR223Sampler: 1000
2014/11/25 09:25:26 INFO - jmeter.protocol.java.sampler.JSR223Sampler: Incremented number
2014/11/25 09:25:26 INFO - jmeter.protocol.java.sampler.JSR223Sampler: 9990001000
2014/11/25 09:25:26 INFO - jmeter.protocol.java.sampler.JSR223Sampler: After Execution
2014/11/25 09:25:26 INFO - jmeter.protocol.java.sampler.JSR223Sampler: 9990000000
2014/11/25 09:25:26 INFO - jmeter.threads.JMeterThread: Thread finished: Dummy services 1-1
作爲每個日誌,增量是成功的,但vars.put()是不成功 ??
在我的腳本中缺少某些內容,在問題中添加了詳細信息。 – 2014-11-25 04:02:59
你的腳本工作正常,也許在JSR223採樣器中存在問題。如果在JSR223採樣器之後添加Debug Sampler和View Results Tree偵聽器,則會看到「mobileNumber」變量遞增http://i.stack.imgur.com/Bf5XI.png 請參見[如何調試Apache JMeter腳本](http://blazemeter.com/blog/how-debug-your-apache-jmeter-script)用於調試技巧,提示和技巧 – 2014-11-25 12:48:26
我認爲這與JMeter如何使用變量有關。 我沒有使用$ {varName}獲取遞增值,而是使用vars.get(「varName」)獲取它。可能是$ {}使用一些預先填充的值來用於該線程。感謝您幫助我。 – 2014-11-26 03:53:02