在Jmeter中如何将beanshell sampler结果传递给Thread组

时间:2015-12-09 05:35:59

标签: performance jmeter

在Bean shell sampler中,我得到行计数如何将行计数传递给Threadgroup

track by

这个行变量我想用来线程组我如何实现这一点 请帮帮我

更新Debugsampler的输出

import org.apache.commons.io.FileUtils; 

int lines = FileUtils.readLines(new File("path to data file")).size(); 
vars.put("lines", String.valueOf(lines));

2 个答案:

答案 0 :(得分:0)

首先,您可以使用Debug sampler来验证您是否在变量中成功获得了所需的值。

其次,您可以像调用JMeter中的其他用户定义变量一样调用此变量。将$ {lines}放在必要的位置。

如果您仍然遇到任何问题,请在评论中告诉我或编辑您的问题以添加更多详细信息。

答案 1 :(得分:0)

您无法以这种方式配置线程组循环计数,因为它正在JMeter启动时填充。以下是选项:

  1. 使用Loop Controller代替,可以通过变量
  2. 设置循环次数
  3. 将线程组中的“循环计数”定义为属性,如${__P(loops,)}。在这种情况下,您可以在测试之前获取CSV文件行计数,即使用相关的OS命令,如:

    • type c:\temp\file.csv | find /c /v "~~~" - 适用于Windows
    • cat /tmp/file.csv | wc -l for * nix

    并通过-J命令行键将结果值传递给JMeter:

    jmeter -Jloops=XX -t /path/to/your/testplan.jmx ...
    
  4. 有关JMeter属性以及设置和覆盖它们的方法的详细信息,请参阅Apache JMeter Properties Customization Guide

相关问题