JMeter 未知参数 ?t

JMeter unknown arg ?t

我正在尝试 运行 非图形用户界面模式下的 JMeter(从命令行)。

我在很多地方看到过,包括官方文档,下面的命令可以满足我的要求:

jmeter -n –t test.jmx -l testresults.jtl

但是,我得到了 "t" 参数的非法参数异常。请参阅下面的控制台输出:

下面是保存到 jmeter.log 的输出:

2016/08/09 14:41:59 INFO  - jmeter.util.JMeterUtils: Setting Locale to en_GB 
2016/08/09 14:41:59 INFO  - jmeter.JMeter: Loading user properties from: C:\apache-jmeter-3.0_src\apache-jmeter-3.0\bin\user.properties 
2016/08/09 14:41:59 INFO  - jmeter.JMeter: Loading system properties from: C:\apache-jmeter-3.0_src\apache-jmeter-3.0\bin\system.properties 
2016/08/09 14:41:59 FATAL - jmeter.JMeter: An error occurred:  java.lang.IllegalArgumentException: Unknown arg: –t
    at org.apache.jmeter.JMeter.initializeProperties(JMeter.java:746)
    at org.apache.jmeter.JMeter.start(JMeter.java:385)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.jmeter.NewDriver.main(NewDriver.java:259)

所以问题是我如何将命令输入命令行。

当我复制和粘贴我的命令时,它是从网页复制到记事本,然后复制到命令行。我错误地认为记事本会编码正确的字符。

有点混乱,因为 -n 有效但 -t 无效。愚蠢的错误!

将脚本文件“TwoMinuteTest.jmx”放入 JMeter bin 目录,然后尝试此命令:

jmeter -n –t TwoMinuteTest.jmx -l testresults.jtl

您必须将您的 .jmx 文件保存在 jmeter bin 文件夹中,并且您可以根据需要更改日志文件的位置。

jmeter -n –t TwoMinuteTest.jmx -l C:\users\desktop\Log.Txt -- 将创建一个文本文件作为日志。

jmeter -n –t TwoMinuteTest.jmx -l C:\users\desktop\Log.Csv -- 将创建一个 Csv 文件作为日志。

jmeter -n –t TwoMinuteTest.jmx -l C:\users\desktop\Log.Xls -- 将创建一个 Xls 文件作为 log.

如果该位置不存在日志文件,它将在 运行 测试时创建一个新文件。

而不是:

jmeter -n –t test.jmx -l testresults.jtl

你应该使用:

jmeter -n –t "test.jmx" -l "testresults.jtl"

在 notepad++ 中打开 .bat 文件 select 如果您的文件有任何特殊字符,请从菜单中编码为 UTF-8 编码,请使用以下格式更正它: jmeter -n –t "testscript.jmx" -l "results_test.jtl"

我刚遇到同样的错误,结果发现字符不是常规的 连字符(又名“减号”),而是 en-dash,它们看起来很相似,我没有注意到。

事实证明 JMeter 的 Linux 版本(或者如果它是 Linux 本身)非常挑剔,只接受普通的常规连字符。 而 JMeter 的 Windows 版本同时处理这两者。我从网站上的命令行示例复制粘贴,我猜那个人在 Windows 上使用了 运行 而没有在 Linux.

上尝试过

我认为这与这里的原始海报发生的事情是一样的。将此作为答案发布,因为它仍然可能发生,并且没有答案谈到使用了错误字符的可能性。

早些时候我的 TimersTestPlan.jmx 有一个 space ,就像这个计时器 TestPlan.jmx 当我删除 space 时,它在 windows.

中对我有用
jmeter -n -t C:\FREESOFT\JmterPlanLoc\TimersTestPlan.jmx -l C:\FREESOFT\JmterPlanLoc\Export\Clreport.csv

效果很好:

jmeter -n -t "F:\WebsitePerformanceTest.jmx" -l "F:\TestResults.csv" -e -o "F:\Reports"

check-in 你的

  1. 文件扩展名示例space,双点
  2. 安装 JMeter 插件
  3. Java JDK 和 JMeter 版本 miss-match.