2016-03-02 100 views
1

我需要知道如何从jmeter中的响应中提取值并将其导出到csv文件。从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文件。

回答

3

所有你需要添加一个正则表达式提取,因为这要求 的孩子,然后首先提到下面输入

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

2。正则表达式:abc(。*?)d(假设你的值是abc CRM-CONID-000000519344 d 然后提供的reg ex将会工作,现在用你的左边的 边界代替abc,并且右边界可以从你的回应中得到。你需要更多的帮助,然后 请提供这个v ALUE从两侧多个文本)

3.Template沿:$ 1 $

4.Match号:1

5.Default值:空

现在你有你的价值存储在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(); 
+0

感谢reply.i试过这样做,但我在csv文件中只能看到“null”。masterconsumer不是开玩笑克提取正确。调试采样器中的 – priya

+0

masterconsumer变量的值为空 – priya

+0

这意味着常规exp不能正常工作。所以请给我提供包含要提取的值的响应以及来自两端的几个词,即提供限制 –

2
  1. 添加XPath Extractor作为请求的孩子,它返回上述值
  2. ,将其配置如下:

    • 检查Use Namespaces
    • 参考名称:任何有意义的事,也就是ID
    • XPath查询:/ns3:UpdateConsumerResponse/MasterConsumerID/text()
  3. 添加Beanshell PostProcessor后的XPath提取
  4. 添加以下代码到后处理的 “脚本” 区域:

    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); 
    
相关问题