我想在ThreadNum * 1000处开始我的计数器。因此,我尝试了各种方法,但似乎都无效。我想念什么吗?
例如
<CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="Counter" enabled="true">
<stringProp name="CounterConfig.start">${__jexl2(ctx.getThreadNum()*1000)}</stringProp>
<stringProp name="CounterConfig.end">999999</stringProp>
<stringProp name="CounterConfig.incr">1</stringProp>
<stringProp name="CounterConfig.name">TOTP</stringProp>
<stringProp name="CounterConfig.format">000000</stringProp>
<boolProp name="CounterConfig.per_user">true</boolProp>
<boolProp name="CounterConfig.reset_on_tg_iteration">true</boolProp>
</CounterConfig>
我正在HTTP POST中进一步使用计数器作为参数,并且可以看到该参数始终从000001开始。
我将使用__counter变量作为POST参数,但是看起来您不能使用__counter来执行前面的零。
我尝试使用beanshell创建一个名为START的外部变量:
<BeanShellSampler guiclass="BeanShellSamplerGui" testclass="BeanShellSampler" testname="BeanShell Sampler" enabled="true">
<stringProp name="BeanShellSampler.query">vars.put ("START", "0" + ctx.getThreadNum() * 1000 );
</stringProp>
....
<stringProp name="CounterConfig.start">${START}</stringProp>
....
具有一个前一个零,尽管看到START值01000和02000(如果我在POST请求中添加$ {START}作为参数),我的计数器仍从000000开始。
即使只是在$ {__ threadNum}处启动计数器,似乎也没有使其从ThreadNum处开始。这是不接受变量值的字段吗?
答案 0 :(得分:-1)
我无法使用最新的JMeter 4.0
重现您的问题 JMeter以001000
开头,并以002000
,003000
等开头。
因此,请尝试升级到JMeter 4.0(或JMeter Downloads页上可用的最新版本),然后尝试全新安装。如果没有帮助,请检查 jmeter.log 文件中是否有可疑条目。另外,请确保您在JMeter安装目录的“ lib / ext”文件夹中拥有ApacheJMeter_functions.jar(如果从Java程序运行JMeter,则在项目Classpath中)
答案 1 :(得分:-1)