我试图创建一个简单的计数器,将迭代编号打印到日志中。 问题是我没有找到一种方法将i的int值初始化为0。 如果我在Beanshell脚本中执行它将继续初始化,我需要它在测试开始时只运行一次。 我的代码:
int i=0;
log.info(string.valueOf(i));
i=i+1;
答案 0 :(得分:2)
仅使用初始化
在JSR223采样器下添加一次控制器vars.putObject("i", 0);
然后你可以使用其他JSR223采样器(
)在它之后(不在Controller下)递增它myI = vars.getObject("i")
log.info(String.valueOf(myI));
vars.putObject("i", ((Integer)myI+1));
答案 1 :(得分:1)
建议尽可能避免编写脚本,如果您不能在没有脚本的情况下生活,则应使用效果最佳的JSR223 Test Elements和Groovy语言选项。
特别是您的情况可以在没有任何脚本的情况下实现,您可以使用以下JMeter函数:
因此,如果您使用如下语句:${__log(Current iteration is: ${__iterationNum},,,)}
JMeter将在调用函数的位置返回它,并另外将相应的消息打印到日志文件中。
演示:
您可以使用Custom JMeter Functions安装 __ iterationNum()功能作为JMeter Plugins Manager捆绑包的一部分