GlorianChris
GlorianChris

Reputation: 227

How do you mix JMeter command line args with Gui args?

I am trying to run a single recording in various different ways without copying the recorded pages.

I have created two Property File Readers that look for:

C:\performance\jmeter\users_${__P(ttype)}.properties

and

C:\performance\jmeter\${__P(env)}_${__P(region)}.properties

where the ${__P(xxx)} variables are passed on the command line as so:

-Jregion=UK -Jenv=dev -Jttype=isolated 

These property files load the following variables (for example):

- usercount=25
- duration=1800
- host.name=server1
- host.port=8546

These are used in the HTTP Request Defaults:

${__P(host.name)}
${__P(host.port)}

and Thread Group:

${__P(duration)}
${__P(usercount)}

This works fine. However, if I want to run the same test in the Gui for a single thread (to check it works), these variables are not populated and the test fails.

I can create a User Defined Variable element but these have the format

${xxx}

so cannot be used interchangeably.

Is there any way to do what I'm trying to do here, please?

Upvotes: 1

Views: 2124

Answers (2)

GlorianChris
GlorianChris

Reputation: 227

Discovered another way to resolve this issue.

The __P() function can take a second argument that acts as the default if the first value isn't resolved. So

${__P(host.name)}
${__P(host.port)}

become

${__P(host.name,server1)}
${__P(host.port,1234)}

This works as well.

Upvotes: 1

Dmitri T
Dmitri T

Reputation: 168002

  • Option 1: you can pass the same parameters via '-J` arguments as JMeter in the GUI mode respects them as well
  • Option 2: you can specify your properties values in user.properties file (located in JMeter's "bin" folder) like

    usercount=25
    duration=1800
    etc.
    

The properties values passed over the command-line will override those, which are specified in the user.properties

See Apache JMeter Properties Customization Guide for more information on using JMeter properties


By the way, you ain't gonna need this Property File Readers, there is a possibility to add extra properties files in JMeter via -q command line argument.

-q, --addprop

additional JMeter property file(s)

Upvotes: 2

Related Questions