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

从jmeter响应中提取值并将其导出到csv文件,jmeter,Jmeter,我需要知道如何从jmeter中的响应中提取值并将其导出到csv文件 假设我的回答是这样的: <ns3:UpdateConsumerResponse xmlns:ns3="http://Pandora.NextGenCRM.Integrations.UpdateConsumerResponse" xmlns:ns0="http://tempuri.org/" xmlns:ns1="http://schemas.datacontract.org

我需要知道如何从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文件。

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

1.参考名称:主消费者或任何变量

2.正则表达式:abc.*?d假设您的值类似于abcCRM-CONID-000000 519344d 如果reg ex有效,现在用您的左侧替换abc 边界和d与正确的边界,你可以从你的反应中得到。如果你还需要更多的帮助 请提供此值以及来自两侧的更多文本

3.模板:1美元$

4.比赛编号:1

5.默认值:空

现在,您的值存储在MasterConsumer变量apply debug sampler中进行验证。您只需要写入csv文件,所以将beanshell post processor添加为同一请求的子级,并编写以下代码将数据打印到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.正则表达式:abc.*?d假设您的值类似于abcCRM-CONID-000000 519344d 如果reg ex有效,现在用您的左侧替换abc 边界和d与正确的边界,你可以从你的反应中得到。如果你还需要更多的帮助 请提供此值以及来自两侧的更多文本

3.模板:1美元$

4.比赛编号:1

5.默认值:空

现在,您的值存储在MasterConsumer变量apply debug sampler中进行验证。您只需要写入csv文件,所以将beanshell post processor添加为同一请求的子级,并编写以下代码将数据打印到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();
作为请求的子级添加,该子级返回上述值 配置如下:

选中“使用名称空间”框 参考名称:任何有意义的内容,即ID XPath查询:/ns3:UpdateConsumerResponse/masterconsumerrid/text 在XPath提取器之后添加 将以下代码添加到后处理器的脚本区域:

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);
作为请求的子级添加,该子级返回上述值 配置如下:

选中“使用名称空间”框 参考名称:任何有意义的内容,即ID XPath查询:/ns3:UpdateConsumerResponse/masterconsumerrid/text 在XPath提取器之后添加 将以下代码添加到后处理器的脚本区域:

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);

感谢您的回复。我尝试过这样做。但是我在csv文件中只能看到null。主消费者未正确提取。在调试采样器中,主消费者变量的值为null。这意味着常规exp无法正常工作。因此,请向我提供包含要提取的值的响应,以及两端的几个单词,即提供边界。这是响应:突出显示您要提取的值,因为我无法理解您到底要提取什么。感谢您的回复。我尝试过这样做。但我在csv文件中只能看到null。请masterconsumer未正确提取。在调试采样器中,masterconsumer变量的值为Null,这意味着常规exp无法正常工作。因此,请向我提供包含要提取的值的响应,以及两端的几个词,即提供边界这是响应:突出显示您要提取的值,因为我无法理解您到底要提取什么