Reputation: 95
I'm using Jmeter for testing APIs and I want to parametrize the project's path from the terminal and then I want to use this parameter in JMeter.
The parameter that I've sent via Command Line :
./jmeter -n -t your_script.jmx -Jurl=abcdef.com
The parameter that I've used in User Defined Variables :
${__P(url)}
But when I run my automation in JMeter, my test scripts are not going to URL that's been defined. When I check the request body, I see POST https://1 as URL.
Please see the attached photos. https://mylifebox.com/shr/3df5bb35-cf43-4488-b20b-5c2d59656212&language=en
Upvotes: 6
Views: 18080
Reputation: 168147
Let's start clean:
In the User Defined Variables configure the variable with the name of url
and the value of ${__P(url,)}
In the HTTP Request sampler (or even better HTTP Request Defaults) put ${url}
into "Server Name or IP" field:
Run your test in command-line non-GUI mode like:
jmeter -n -t your_script.jmx -Jurl=abcdef.com -f -l result.jtl
mind this -f
argument which tells JMeter to overwrite the existing results file (it might be the case you're looking into "old" results where the url
property value was starting with 1
)
That's it, you should see the HTTP Request sampler making a call to abcdef.com
in the .jtl results file. And if you change this url
parameter - you will see the impact in the .jtl results file:
Upvotes: 10
Reputation: 58862
Put ${__P(url)}
inside Server Name field in HTTP Request.
Domain name or IP address of the web server, e.g. www.example.com. [Do not include the http:// prefix.] Note: If the "Host" header is defined in a Header Manager, then this will be used as the virtual host name.
Don't use User Defined Variables
Upvotes: 1