在CSV中保存JMeter响应

在CSV中保存JMeter响应,csv,jmeter,Csv,Jmeter,我是JMeter的新手,正在尝试为我正在处理的项目执行负载测试。 我已经创建了一个测试计划来创建2000个用户。结果请求如下所示: { :“状态”:“200”, :“错误”:null, :“内容”:“1858” } 我想将所有2000个请求的“内容”值保存在一个csv文件中。 有什么方法可以做到这一点吗?简易方法:将值附加到.jtl结果文件中 将以下行添加到user.properties文件(位于JMeter安装的/bin文件夹下) 添加为返回该内容的请求的子级,并按如下方式进行配置: 参考

我是JMeter的新手,正在尝试为我正在处理的项目执行负载测试。 我已经创建了一个测试计划来创建2000个用户。结果请求如下所示: { :“状态”:“200”, :“错误”:null, :“内容”:“1858” } 我想将所有2000个请求的“内容”值保存在一个csv文件中。
有什么方法可以做到这一点吗?

简易方法:将值附加到.jtl结果文件中

  • 将以下行添加到user.properties文件(位于JMeter安装的/bin文件夹下)

  • 添加为返回该内容的请求的子级,并按如下方式进行配置:

    • 参考名称:
      content
    • 正则表达式:
      “内容”:“(\d+”
    • 模板:
      $1$
    当你

    测试执行完成后,您将能够看到results.jtl results文件最后一列的“Content”值


  • 艰难之路:自定义脚本

  • 将添加作为返回该结果的请求的子级
  • 将以下代码放入后处理器的“脚本”区域


  • 测试完成后,您将在JMeter的工作目录(通常为/bin)中看到content.csv文件,其中包含所有“content”值

    谢谢你的回答@Dmitri。我更喜欢选项2,因为我希望在下一个请求中使用CSV中的值。
    sample_variables=content
    
    jmeter -n -t /path/to/your/script.jmx -l /path/to/test/results.jtl
    
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    String response = new String(data);
    
    FileOutputStream out = new FileOutputStream("content.csv", true);
    String regex = "\"Content\":\"(\\d+)\"";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(response);
    if (m.find()) {
        String content = m.group(1);
        out.write(content.getBytes());
        out.write(System.getProperty("line.separator").getBytes());
        out.flush();
    }