使用jmeter将提取的数据写入文件

时间:2011-12-02 05:50:49

标签: file-io jmeter

我正在使用JMeter v2.5 我需要从测试的响应中获取数据并从中提取数据(我正在使用常规的exp提取器)。如何将提取的数据存储到文件中?

5 个答案:

答案 0 :(得分:33)

刚刚解决了类似的问题。使用正则表达式提取器获取数据后,添加BeanShell PostProcessor元素。使用下面的代码将变量写入文件:

name = vars.get("name");
email = vars.get("email");

log.info(email);  // if you want to log something to jmeter.log file

// Pass true if you want to append to existing file
// If you want to overwrite, then don't pass the second argument
f = new FileOutputStream("/my/file/path/result.csv", true);
p = new PrintStream(f); 
this.interpreter.setOut(p); 
print(name + "," + email);
f.close();

答案 1 :(得分:1)

你有几个选择

  1. 您可以通过向线程组添加聚合报告侦听器来计算结果=> add listener =>汇总报告
  2. 您可以通过向线程组添加简单的数据编写器侦听器来获得原始结果=> add listener =>简单数据编写者
  3. 希望这有帮助

答案 2 :(得分:1)

您可以使用https://jmeter-plugins.org/wiki/FlexibleFileWriter/设置示例变量。 或者使用假的Dummy Sampler。 无论如何,灵活的文件编写器适合将数据写入文件。

答案 3 :(得分:1)

import org.apache.jmeter.services.FileServer;

String path=FileServer.getFileServer().getBaseDir();

name1= vars.get("user_Name_value");
name2= vars.get("UserId_value");

f = new FileOutputStream("E://csvfile/result.csv", true); //spec-ify true if you want to overwrite file. Keep blank otherwise.
p = new PrintStream(f); 
this.interpreter.setOut(p); 
p.println(name1+"," +name2);
f.close();

这对我有用,我希望它也适合你

答案 4 :(得分:0)

如果您只想将提取的变量写入CSV结果文件,那么只需将user.properties添加到您想要的变量中:

  

sample_variables =姓名,电子邮件

根据文件:

它们将作为CSV结果文件的最后一列附加。