每次 CLI 命令为 运行 时,如何创建一个新的唯一名称 jmeter.log 文件?

How can I create a new unique name jmeter.log file each time a CLI command is run?

每当我从 CLI 运行 一个新的 jmeter 命令生成一个新的 jmeter.log 文件并且我丢失了之前测试 运行.

写入的内容

示例:

首先我 运行 测试脚本:

jmeter -n -p .\config.properties -t .\path\to\jmeterScripFile.jmx -l .\path\to\jmeterScriptOutputFile.jtl

这会生成一个新的 jmeter.log 文件。

然后我运行这个命令生成一个HTML仪表板报告:

jmeter -g  .\path\to\jmeterScriptOutputFile.jtl  -o .\path\to\TestResults\ReportHTML

这第二条命令会覆盖之前的 jmeter.log 文件内容。

我希望每个 jmeter CLI 命令都生成一个唯一的 .log 文件。 像 jmeter-yyyymmdd-hhMMss

我怎样才能做到这一点?

  1. 您可以使用 -j command-line argument 覆盖默认的 jmeter.log 文件名,例如

    jmeter -j your-custom-log-name-here.log -n -t .....
    

    可以通过您的操作系统添加时间戳

  2. 如果您想使更改永久生效,并且不想通过 -j 命令行参数提供新的日志文件名,您可以通过 [= 修改日志文件前缀17=]喜欢

    更改此行:

    <File name="jmeter-log" fileName="${sys:jmeter.logfile:-jmeter.log}" append="false">
    

    类似于:

    <File name="jmeter-log" fileName="jmeter-${date:yyyyMMdd-hh-mm-ss}.log" append="false">
    

    更多信息:How to Configure JMeter Logging

JMeter 命令行选项-j 将允许您指定jmeter 日志文件。文件名可以动态设置。如果您在 Mac $(date +%Y%m%d-%H%M%S) 可用于获取时间戳。

-j [name of JMeter run log file].

List of command line options

您可以使用以下带有当前时间戳后缀的命令到 jmeter 日志文件。日志文件将创建在您的 JMETER_HOME/bin 文件夹中。

 ./jmeter -n -t TestPlan-Basic-Test.jmx -j jmeter-$(date +%Y%m%d-%H%M%S).log -l test-result.csv

寡妇可以使用类似的方法。 link

你可以按照这个简单的例子,这里的日期生成现在的日期:

jmeter -g  ./path/to/"`date`".jtl  -o ./path/to/TestResults/ReportHTML

额外: 如果你想用下划线分隔日期,你可以使用这个

DN="`date`"
DATE_NOW=${DN// /_}
jmeter -g  ./path/to/$DATE_NOW.jtl  -o ./path/to/TestResults/ReportHTML

PS: 不要忘记对另一个命令做同样的事情。

日期示例看起来像这样Sun_Dec__5_00:55:38_WCAST_2021