基本上,我想在我的负载测试中有一个特定于用户的计数器(每个用户获得自己的计数器,初始化为1),但每次在测试执行期间调用它时都会递增。
换句话说,我想从我的柜台出来以下行为:
请求1:
<item position="${POSITION_CTR}"... > //Counter is 1
<item position="${POSITION_CTR}"... > //Counter is 2 despite same request
请求2:
<item position="${POSITION_CTR}"... > //Counter is 3
请求3:
<item position="${POSITION_CTR}"... > //Counter is 4
我试图使用__counter(TRUE,POSITION_CTR)函数。不幸的是,无论我多少次调用它,都会产生值“1”。我考虑使用BeanShell Post处理器以编程方式在每次请求后递增计数器值,但是然后使用计数器两次(应该是唯一的)的请求将具有相同的计数器值。
我还试图使用Counter(配置元素),但似乎与__counter()有相同的问题。任何建议都会非常感激。
答案 0 :(得分:1)
您可以尝试使用“BeanShell PostProcessor”中的__setProperty()来增加值。但要小心,它会反映在测试计划中的所有线程中。
例如,在下面的BeanShell PostProcessor中使用:
__setProperty("counter", "${__javaScript(${__property(counter)} + 1}
您也可以尝试使用var.put,如下所示:
vars.put("counter", "${__javaScript(${counter} + 1}