我一直在尝试使用带有一些可配置参数的非GUI模式(命令行)在JMeter中创建一个简单的测试场景。我希望我能省略一些属性的价值,但它没有达到我希望的效果。
以下是我用来运行测试的命令:
[JMETER_HOME]\bin\jmeter.bat -n -t example\test.jmx -p shared\resources\jmeter.properties -q example\resources\user.properties -l example\results\result.jtl -JUSERS=1 -JRAMPUP=0 -JLOOPS=1 -JDURATION= -JSERVER=www.google.com.au -JPORT= -JURL=maps/
我想为其中一些字段指定一个默认值。我希望JMeter尝试首先使用命令行属性,然后尝试使用user.properties,最后使用默认值。
像${__P(PORT,${__property(port)},"")}
答案 0 :(得分:0)
我不确定你是否可以让JMeter尝试使用从控制台输入的变量值,然后是用户,最后是默认值。但是您可以使用控制台中的值,如果在控制台中没有输入值,则JMeter使用默认值。要实现这一点,您应该将用户定义变量的值指定为${__P(name_of_parameter_from_console,default_value)}
。
http://blog.novatec-gmbh.de/how-to-pass-command-line-properties-to-a-jmeter-testplan/
答案 1 :(得分:0)
${__P(PORT,"")}
无法按预期工作(JMeter 3.1),但 ${__P(PORT,)}
可以解决问题
省略第二个参数(${__P(PORT)}
)默认为1
...这很少是期望的结果。