Jmeter - 通过命令行运行.jmx文件,并在excel中获取摘要报告

时间:2014-07-02 17:41:08

标签: command jmeter

我是jmeter的新手。我有.jmx文件包含所有必需的http采样器。我可以使用“Run-> Start”在Jmeter UI中运行它,并在“Summary Report”中查看结果。然后,我可以使用“摘要报告”中的“保存表格数据”按钮将结果保存到.csv。

问题是如何使用命令行实现相同的功能。

10 个答案:

答案 0 :(得分:41)

JMeter可以在非GUI模式下启动,如下所示:

jmeter -n -t /path/to/your/test.jmx -l /path/to/results/file.jtl

您可以通过使用JMeter Properties设置您希望在结果jtl文件中看到的内容。

查看JMeter安装的/ bin文件夹下的jmeter.properties文件,查找以

开头的文件
jmeter.save.saveservice.

默认值如下:

#jmeter.save.saveservice.output_format=csv
#jmeter.save.saveservice.assertion_results_failure_message=false
#jmeter.save.saveservice.assertion_results=none
#jmeter.save.saveservice.data_type=true
#jmeter.save.saveservice.label=true
#jmeter.save.saveservice.response_code=true
#jmeter.save.saveservice.response_data=false
#jmeter.save.saveservice.response_data.on_error=false
#jmeter.save.saveservice.response_message=true
#jmeter.save.saveservice.successful=true
#jmeter.save.saveservice.thread_name=true
#jmeter.save.saveservice.time=true
#jmeter.save.saveservice.subresults=true
#jmeter.save.saveservice.assertions=true
#jmeter.save.saveservice.latency=true
#jmeter.save.saveservice.samplerData=false
#jmeter.save.saveservice.responseHeaders=false
#jmeter.save.saveservice.requestHeaders=false
#jmeter.save.saveservice.encoding=false
#jmeter.save.saveservice.bytes=true
#jmeter.save.saveservice.url=false
#jmeter.save.saveservice.filename=false
#jmeter.save.saveservice.hostname=false
#jmeter.save.saveservice.thread_counts=false
#jmeter.save.saveservice.sample_count=false
#jmeter.save.saveservice.idle_time=false
#jmeter.save.saveservice.timestamp_format=ms
#jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS
#jmeter.save.saveservice.default_delimiter=,
#jmeter.save.saveservice.default_delimiter=\t
#jmeter.save.saveservice.print_field_names=false
#jmeter.save.saveservice.xml_pi=<?xml-stylesheet type="text/xsl" href="../extras/jmeter-results-detail-report_21.xsl"?>
#jmeter.save.saveservice.base_prefix=~/
#jmeter.save.saveservice.autoflush=false

取消注释您感兴趣的那个并设置它的值以更改默认值。另一个选项是覆盖user.properties文件中的属性,或者使用-J键将其作为命令行参数提供,如下所示:

jmeter -Jjmeter.save.saveservice.print_field_names=true -n /path/to/your/test.jmx -l /path/to/results/file.jtl

有关使用JMeter属性可以执行的操作的更多详细信息,请参阅Apache JMeter Properties Customization Guide

答案 1 :(得分:3)

您可以使用此命令

jmeter -n -t /path to the script.jmx -l /path to save results with file name file.jtl

但是如果你真的想在远程机器上运行负载测试,那么当你关闭窗口时,你应该能够运行它。所以我们可以使用nohup忽略HUP(挂断)信号。所以您可以使用以下命令。

nohup sh jmeter.sh -n -t /path to the script.jmx -l /path to save results with file name file.jtl &

答案 2 :(得分:2)

您可以使用-n参数为“非GUI”和测试计划文件的-t参数从命令行运行JMeter。

    jmeter -n -t "PATHTOJMXFILE"        

如果您想进一步自定义命令行体验,我会引导您访问其文档的'Getting Started'部分。

答案 3 :(得分:0)

这将是命令行语句。

"%JMETER_HOME%\bin\jmeter.bat" -n -t <jmx test file path> -l <csv result file path> -Djmeter.save.saveservice.output_format=csv

答案 4 :(得分:0)

在命令行模式下: 我已计划在Linux操作系统上使用。

  1. 下载最新的jmeter版本。 Apache JMeter 3.2 (Requires Java 8 or later)截至目前。

  2. 在所需目录中提取。例如,提取到/tmp/

  3. 现在,默认输出文件格式为csv。无需更改任何内容或在CLI命令中指定。 例如: ./jmeter -n -t examples/test.jmx -l examples/output.csv
  4. 要更改默认格式,请在 jmeter.properties 中更改以下参数:jmeter.save.saveservice.output_format=xml

    现在,如果您运行命令:./jmeter -n -t examples/test.jmx -l examples/output.jtl 输出以xml格式存储。

    现在,在多个服务器上发出请求(附加信息查询):我们可以指定

    中的主机和端口作为标签

    ./jmeter -n -t examples/test.jmx -l examples/output.jtl -JHOST=<HOST> -JPORT=<PORT>

答案 5 :(得分:0)

这对我适用于mac os High sierra 10.13.6,java 8 64位,jmeter 4.0

$  jmeter -n --testfile /path/to/Test_Plan.jmx

示例输出:

Creating summariser <summary>
Created the tree successfully using ./src/test/jmeter/Test_Plan.jmx
Starting the test @ Fri Aug 24 17:18:18 PDT 2018 (1535156298333)
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary =     10 in 00:00:09 =    1.1/s Avg:  6666 Min:  1000 Max:  8950 Err:     
0 (0.00%)
Tidying up ...    @ Fri Aug 24 17:18:28 PDT 2018 (1535156308049)
... end of run

答案 6 :(得分:0)

要在excel之类的文件中获得结果,您可以选择一个选项来使用csv文件来完成它。 将以下命令与提供的选项一起使用。

jmeter -n -t /path-to-jmeter-test/file.jmx -l TestResults.csv
-n states Non GUI mode
-t states Test JMX File
-l state Log the results in provided file

您还可以使用-Jprop.name = value在命令行参数中动态传递任何与结果相关的参数,这些参数已经在bin文件夹的jmeter.properties中定义。

答案 7 :(得分:0)

检查我的 powershell 命令

$Date = Get-Date -Format ddMMyyyyhhmmss
jmeter -n -t jmetter\dev.jmx -l jmetter\TestResult-$Date.csv -o jmetter\Results-$Date\ -X

// 要知道所有参数(如 -n、-t、...),请使用以下命令:

<块引用>

jmeter --?

答案 8 :(得分:-1)

从命令行导航到jmeter/bin目录并

jmeter -n -t <YourTestScript.jmx> -l <TestScriptsResults.jtl>

答案 9 :(得分:-1)

在命令行模式下运行JMeter:

1.导航到JMeter的bin目录

现在输入以下命令,

jmeter -n –t test.jmx
  

-n:指定JMeter以非gui模式运行

     

-t:指定包含测试计划的JMX文件的名称