如何将Apache jMeter测试结果保存到CSV文件?

38

我创建了一个jMeter测试,其中进行了20,000个HTTP请求。我已经包含了“查看结果表”侦听器。运行测试后,我想将表结果保存到CSV文件中。

我已经创建了一个jMeter测试,并执行了20,000个HTTP请求。我包含了“View Results in Table”侦听器。运行测试后,我希望将表格结果保存为CSV文件。请保留HTML标记。
9个回答

52

好的,我已经弄清楚了。这是迄今为止最不直观的用户界面...通过使用浏览选项从文件系统中浏览文件名,或在“文件名”字段中填写绝对文件名,然后开始测试。这将创建并写入文件。

请参阅附加的图片。可以选择所需的CSV、XML和JTL格式。文件名应该是完整路径。

以表格查看结果


在“配置”下,您会发现XML可以保存比CSV更多的数据元素,这取决于您的需求可能会很有用。 - BlackGaff
4
你好,dacracot。你指的是哪个“领域”?谢谢。 - Ittai
谢谢,我无法弄清如何从Jmeter GUI保存到文件。没意识到必须先运行测试。 - Mike R
3
您需要输入完整路径来指定文件名。相对路径由于某些原因不起作用。 - Pacerier

10

只需通过选择Thread->Listener->AggregateReport将“聚合报告”添加到你的测试计划中,并运行你的测试。当测试完成后,聚合报告将显示有关测试运行情况的信息。在此处还有一个选项可以将报告保存为csv文件。


1
当然你也可以在这里保存一个csv文件,但是这个csv文件和之前的那个一样吗?这两个文件是否匹配? - Pacerier

4
有许多方法可以推动结果,这是 CLI 的方式:
步骤: 1. 下载最新的 jmeter 版本 2. 解压到您想要的目录中。例如,解压到 /tmp/。 3. 现在,默认输出文件格式将为 csv。不需要更改任何内容或在 CLI 命令中指定。 4. 从 UI 控制台保存 jmx 文件。比如说,你已经保存在 examples 目录中。 5. 现在,在 CLI 控制台上运行以下命令: jmeter -n -t examples/test.jmx -l examples/output.csv 6. 如果您想更改默认格式,请检查 jmeter.properties 文件中的以下参数:jmeter.save.saveservice.output_format=xml 7. 现在,如果您运行命令 ./jmeter -n -t examples/test.jmx -l examples/output.jtl,输出将以 xml 格式存储。 8. 现在,在多个服务器上进行请求(额外的信息查询以获取良好的知识):我们可以在 CLI 命令中指定主机和端口作为参数/标签。
./jmeter -n -t examples/test.jmx -l examples/output.csv -JHOST=<HOST> -JPORT=<PORT>

4

使用BeanShell的方式可以实现。您需要下载该库并将其添加到lib文件夹中。然后创建一个BeanShell采样器,并添加代码以执行请求。以下示例代码可能会有所帮助:

import org.apache.jmeter.services.FileServer;

// Static elements or calculations
String Variable1 = vars.get("ValueForVariable1AsMentionedInJMeterScript");
String Variable2 = vars.get("ValueForVariable1AsMentionedInJMeterScript");
String Variable3 = vars.get("ValueForVariable1AsMentionedInJMeterScript");


// Open File(s)
f = new FileOutputStream(FileServer.getFileServer().getBaseDir()+"\\NameOfTheCSVFile.csv", true); 
p = new PrintStream(f); 

// Write data to file 
p.println(Variable1 + "," + Variable2 + "," + Variable3);

// Close File(s)
p.close();f.close();

//this is for veryfying your code
return jsonOutput;

ValueForVariable1AsMentionedInJMeterScript是你脚本中变量的名称。

更多信息请参见此页面:http://hellotestworld.com/2013/05/02/write-a-file-from-a-jmeter-script/


如何在不写入新内容的情况下删除文件的内容。 - Gülsen Keskin

2

1.打开终端

2.导航到Jmeter的bin文件夹

3.运行jmeter -n -t(jmx文件的路径)/test.jmx -l(结果保存的路径)/testresults.csv

-n-指定JMeter以非GUI模式运行

-t-要运行的JMX文件的名称

-l:日志结果的csv文件名称


1
你可以将结果保存在任何一个监听器中,以下是步骤 -
进入线程 -> 添加 -> 监听器 -> 查看结果树(或其他任何监听器) 此处为图片 在这里,您可以通过将文件名命名为abc.csv并进行配置来保存文件,在那里您需要取消选中xml文件并单击csv文件。同时,结果文件abc.csv默认保存在apache-jmeter工具的bin文件夹中。


0
在 ViewResultsTree 中,将会有一个选项 "将结果写入文件/从文件读取",在文件名字段中输入保存文件所需的路径和文件名为 "fileName.csv"。 点击配置,然后取消选中 "保存为 XML 选项",并选中 "保存为 csv"。

0
打开 user.properties 文件。您可能会看到值 jmeter.save.saveservice.output_format=xml 将其更改为:

jmeter.save.saveservice.output_format=csv

您可以按照以下步骤生成CSV文件和输出文件夹:
1.打开终端
2.导航到Jmeter的bin文件夹
sh jmeter.sh -n -t your_JMX_File.jmx -l your_output_csv_file.csv -e -o yourTargetedOutputFolder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接