从jmeter响应中提取值并将其导出到csv文件

时间:2016-03-02 09:19:54

标签: jmeter

我需要知道如何从jmeter中的响应中提取值并将其导出到csv文件。

假设我的回答是这样的:

<ns3:UpdateConsumerResponse
        xmlns:ns3="http://Pandora.NextGenCRM.Integrations.UpdateConsumerResponse"
        xmlns:ns0="http://tempuri.org/" 
        xmlns:ns1="http://schemas.datacontract.org/2004/07/Pandora.Xrm.DataModel.Request"
        xmlns:ns2="http://schemas.datacontract.org/2004/07/Pandora.Xrm.DataModel.Response">
    <MasterConsumerID>
        CRM-CONID-000000519344
    </MasterConsumerID>
</ns3:UpdateConsumerResponse>

我需要提取主消费者值并将其导出到csv文件。

2 个答案:

答案 0 :(得分:3)

首先,您必须添加一个正则表达式提取器作为此请求的子项 然后提到下面的输入

  

1.Reference Name:MasterConsumer(或任何变量)

     

2.常规表达式:abc(。*?)d(假设你的值类似于abc CRM-CONID-000000519344 d       然后提供reg ex将工作,现在用你的左边替换abc       边界和带有右边界的d,您可以从您的回复中获得。如果你还需要更多的帮助呢       请提供此值以及来自双方的更多文本)

     

3.Template:$ 1 $

     

4.匹配号码:1

     

5.默认值:null

现在您将值存储在MasterConsumer变量中(应用调试采样器进行验证)。只需要写入csv文件,所以添加beanshell后处理器作为相同请求的子进程并写下以下代码将数据打印到csv文件中

 MasterConsumer =vars.get("MasterConsumer");
 f = new FileOutputStream("Path"-Output.csv",true);
 p=new PrintStream(f);
 this.interpreter.setOut(p);
 p.println(MasterConsumer);
 f.close();

答案 1 :(得分:2)

  1. 添加XPath Extractor作为请求的子项,返回值
  2. 按如下方式配置:

    • 检查Use Namespaces
    • 参考名称:任何有意义的内容,即ID
    • XPath查询:/ns3:UpdateConsumerResponse/MasterConsumerID/text()
  3. 在 XPath Extractor
  4. 之后添加Beanshell PostProcessor
  5. 将以下代码添加到PostProcessor的“脚本”区域:

    import org.apache.commons.io.FileUtils;
    
    String file = "path_to_your_file.csv";
    String ID = vars.get("ID");
    String newline = System.getProperty("line.separator");
    
    FileUtils.writeStringToFile(new File(file),ID + newline, true);