我需要知道如何从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文件。
答案 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)
按如下方式配置:
Use Namespaces
框ID
/ns3:UpdateConsumerResponse/MasterConsumerID/text()
将以下代码添加到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);