I'm trying to automate some perf testing. I'd to pass server locations into a generic jmx from a Jenkins job. I'd like to be able to do something like:
jmeter -n -t foo.jmx -JtestingIP=IP
and have foo.jmx pick up testingIP
.
What is the proper way to do this? When I run that jmeter command, it says that the variable has been stored, but inserting either ${testingIP}
or ${\_\_P(testingIP,)}
into the jmx results in ${testingIP}
or ${\_\_P(testingIP,)}
to be interpreted as just a string.
What am I doing wrong/not doing at all? Is this even possible?
All you need to do is start your JMeter from the command line (or shell) with the -J option. For example :
-JTestIP=10.0.0.1
And in your script, to get the value, just use function _P:
Example:
${__P(TestIP)}
That should do it.
Note you should put a default value in case you run the script without passing that JMeter property like:
${__P(TestIP,1.1.1.1)}