如何在Jmeter中将正则表达式提取器输出保存为文件(csv或任何其他格式)

时间:2019-04-15 07:55:14

标签: regex jmeter export

Hi StackOverflow社区,

我正在研究Jmeter。我为我们的Web应用程序构建了一个运行脚本

在一个请求中,我使用正则表达式提取器从Http响应中获取了一个值..

RegEx_PRNumber我想将此值保存在文件中(csv,txt可以是任何格式,不是问题)

如何在Jmeter中完成

提前想到

2 个答案:

答案 0 :(得分:1)

要将提取的值保存到csv文件,请按照以下步骤操作。

  1. 删除正则表达式提取器,因为我们将使用JSR223 Post Processor
  2. 从响应中提取
  3. 添加JSR223后处理器,并将以下代码粘贴到脚本部分中。选择语言为“ Groovy 2.4.12 / Groovy scripting engine 2.0

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    import java.io.FileWriter;
    import java.io.Writer;
    String stringToSearch=prev.getResponseDataAsString();
    Pattern p = Pattern.compile('value="(PR.+?)"');   
    Matcher match = p.matcher(stringToSearch);
    if (match.find()) {
        def value = match.group(1)
        log.info('------------------')
        log.info(value) // to check in the jmeter log for the extracted data
        vars.put('a', value) 
    }
    //get path of csv file (creates new one if its not exists)
    FileWriter fileWriter = new FileWriter("C:\\Users\\Tarik\\Desktop\\example.csv",true); // true to append
    BufferedWriter out = new BufferedWriter(fileWriter);
    out.write(vars.get("a"));
    out.close();
    fileWriter.close();
    

enter image description here

答案 1 :(得分:0)

这很有效,谢谢。 使用'println'而不是'write'在新行中具有连续的值。