我使用Blazemeter Chrome扩展程序来记录我的Jmeter测试计划。这些记录的脚本非常有用,因为它们记录了所需的Cookie,变量和会话,而我不需要手动进行所有操作。这些脚本在Jmeter的GUI模式下运行良好。

我面临的问题是在非GUI(从命令行)模式下执行相同的测试计划。我尚未更改/修改在GUI模式下完美执行的jmx文件。现在,当我尝试使用以下命令从命令行运行测试时,它将返回错误消息“无法打开Test.jmx”。也就是说,在非GUI模式下执行时,jmeter无法打开测试计划文件。


jmeter -n -t Test.jmx -l results.jtl


评论

我认为完整的命令是jmeter -n -t Test.jmx example.jtl,您缺少jtl文件名吗?

返回什么错误?并且您是否尝试提供jmx文件的完整路径?

@ Helping Hands,我已经将命令编辑为实际尝试的内容。

@ TestingWithArif我在上面的描述中提到的错误,是的,我也尝试了绝对路径,但是仍然得到了相同的结果。实际上,当我在Jmeter GUI中仅使用一个http请求采样器创建一个简单的测试计划并尝试在非GUI模式下运行时,效果很好。

#1 楼

经过大量的Google搜索和反复试验后,我发现Blazemeter的Chrome扩展程序在JMX文件中生成的标记造成了问题。

JMX文件在多个位置包含一个<hashTree/>,并且此标记导致Jmeter在非GUI模式下无法读取JMX文件。

所以我删除了该标记并尝试运行测试,并且比以前有更多的错误。

然后我在hashTree标记之前和之后添加了两个星号[**]。这样,标记现在看起来像**<hashTree/>**并保存了JMX文件。

现在,当我通过非GUI模式运行测试时,它执行得很好。

Happy Testing:)

米粉饼

评论


您可以接受它作为答案:)我想它也可以报告给Blazemeter团队!

–TestingWithArif
16年1月12日在4:49

是的,给Blazemeter支持者写了一封电子邮件,但是按照他们的说法,生成测试计划的方式没有错!因此,让我们看看他们是否确实可以解决它。否则,我们将让ti每次手动执行此操作! :)

–IAmMilinPatel
16年1月12日,下午5:04

真奇怪。我将检查我的环境并在这里分享。如果对我来说一切正常,则您的环境中可能还有其他原因导致此问题!

–TestingWithArif
16年1月12日,下午5:17

添加**不能解决我的问题,但重新启动Mac可以。我是认真的,不是在开玩笑

–塔伦
17年1月30日在9:05

不适用于我,并且重新启动也不起作用:(

–大卫
17年8月24日在4:56

#2 楼

尝试按如下所示在引号内传递jmx文件-对我有用

jmeter -n -t“ Test.jmx” -l results.jtl

#3 楼

解决方案不一定与这里的问题有关,但是当我来到这里时,我觉得将解决方案放在这里很合适。
我得到的是“无法打开plan.jmx”。

如果您在命令行中得到的只是简单的内容,然后确保已正确考虑了命令中的大写abcd来正确指定了文件名。

[我使用的是ubuntu,因此与Windows相比,命令的变化不大]

so,


'./jmeter -n -t plan.jmx -l plan.csv'和
'./jmeter- n -t Plan.jmx -l plan.csv'是不同的。

我的文件名是Plan.jmx和plan.csv。 [jmx中的大写字母P]

我运行了第一个命令,在冲浪期间,我进入了此页面。然后,我尝试了第二个方法并开始工作。

[在我拥有诸如“测试计划”之类的文件名之前,但是这种空间情况也给我带来了其他麻烦。正在收到“发生错误:未知arg:Plan.jmx”,因此我从“另存为”选项重命名了文件,但是可以使用文件名中的_或-。]

评论


嗨,Hemraj,是的,答案与问题无关。显然,在UBUNTU上,plan.jmx和Plan.jmx被认为是2个不同的文件,因此是失败的。 UBUNTU区分大小写。此外,由于路径中的空间,Test Plan.jmx也会中断。终端将“测试”视为一个选项,并期望有一个参数/参数。只要文件/文件夹名称中有空格,请尝试在终端上的双引号“ Test Plan.jmx”内传递该空格,它将起作用。

–IAmMilinPatel
19年11月25日,下午3:33

你是绝对正确的。在命令提示符下,我给文件名加了错误,因为它包含空格和大写字母,并且我看到响应为“找不到文件”。我固定了文件名,不带空格,并使用小写字母,然后得到了结果。

–马达维·甘德拉(Madhavi Gandra)
20年11月6日在16:42