Variables jmeter将命令行变量传递到jmx中
我正在尝试自动化一些性能测试。我希望将服务器位置从Jenkins作业传递到通用jmx中。我希望能够做到以下几点: jmeter-n-tfoo.jmx-JtestingIP=IP 并让foo.jmx拿起Variables jmeter将命令行变量传递到jmx中,variables,jmeter,jmx,Variables,Jmeter,Jmx,我正在尝试自动化一些性能测试。我希望将服务器位置从Jenkins作业传递到通用jmx中。我希望能够做到以下几点: jmeter-n-tfoo.jmx-JtestingIP=IP 并让foo.jmx拿起testingIP 正确的方法是什么?当我运行jmeter命令时,它表示变量已经存储,但是在jmx中插入${testingIP}或${\\\\\ P(testingIP,)}将导致${testingIP}或${\\\ P(testingIP,)}被解释为一个字符串 我做错了什么/根本没做什么?这可能
testingIP
正确的方法是什么?当我运行jmeter命令时,它表示变量已经存储,但是在jmx中插入${testingIP}
或${\\\\\ P(testingIP,)}
将导致${testingIP}
或${\\\ P(testingIP,)}
被解释为一个字符串
我做错了什么/根本没做什么?这可能吗?看看这个链接。另外,我会尝试指定默认值,比如
${P(testingFromCommandLineIP,defaultIP)}
其中testingFromCommandLineIP
--从命令行运行测试计划时指定的参数,defaultIP
--默认值您需要做的就是从命令行(或shell)启动JMeter使用-J选项。 例如:
-JTestIP=10.0.0.1 在脚本中,要获取值,只需使用函数\u p:jmeter -t TestPlan.jmx -Jthreads=10 -Jcount=50 -Jrumpup=5
有两个选项可以将参数发送到jmeter 首先:设置系统属性值
-Dproperty=value
如果value是一个包含空格的字符串,则必须用双引号将该字符串括起来
例如:
读取jsr223 beanshell中的参数:
log.info("mydir:" + System.getProperty("mydir"));
使用Bean Shell函数读取请求采样器中的参数:
${__BeanShell(System.getProperty("mydir"))}
${__P(duration)}
Second:定义本地JMeter属性
-J[prop_name]=[value]
例如:
正在使用Bean Shell函数读取请求采样器中的属性:
${__BeanShell(System.getProperty("mydir"))}
${__P(duration)}
在jmeter 3.0中工作。非常感谢。这对我有用。我正在使用JMeterJava1.0
${__P(duration)}