How to pass the parameters from command line to JMX file (Jmeter Test Plan)

1,431 views
Skip to first unread message

Vinay Prasad

unread,
May 2, 2016, 3:25:59 PM5/2/16
to Maven JMeter Plugin Users
I have a test plan which uses connectHostname to send the requests.

Current pom looks like below
<properties>
<performancetest.connectHostname>some_default_hostname</performancetest.connectHostname>

</properties>

<profiles>
<profile>
<id>jenkins</id>
<properties>
<performancetest.connectHostname>hostname_for_jenkins_profile</performancetest.connectHostname>
</properties>
</profile>
</profiles>

<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.9.0</version>
<configuration>
<testResultsTimestamp>false</testResultsTimestamp>
<overrideRootLogLevel>DEBUG</overrideRootLogLevel>
<suppressJMeterOutput>false</suppressJMeterOutput>
<ignoreResultFailures>true</ignoreResultFailures>

<propertiesJMeter>
<jmeter.save.saveservice.thread_counts>true</jmeter.save.saveservice.thread_counts>
</propertiesJMeter>
<jmeterPlugins>
<plugin>
<groupId>kg.apc</groupId>
<artifactId>jmeter-plugins</artifactId>
</plugin>
</jmeterPlugins>
</configuration>
<executions>
<execution>
<id>execute-jmeter-tests</id>
<goals>
<goal>jmeter</goal>
</goals>
<phase>integration-test</phase>
</execution>
</executions>
</plugin>


I want to pass the hostname from command line e.g. 
clean -Pjenkins verify -Dperformancetest.connectHostname=dayrhemwkd083.enterprisenet.org

Test plan (jmx file) looks like below
 <elementProp name="connectHostname" elementType="Argument">
            <stringProp name="Argument.name">connectHostname</stringProp>
            <stringProp name="Argument.value">${__P(performancetest.connectHostname}</stringProp>
            <stringProp name="Argument.desc">Entrypoint host</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
</elementProp>

- If I hardcode the hostname the tests are working fine but when I try to use the command line variable like above, it is not able to execute.

I want to know how to achieve this. Appreciate any help!!



Vinay Prasad

unread,
May 2, 2016, 3:26:55 PM5/2/16
to Maven JMeter Plugin Users
debug] JMeter is called with the following command line arguments: -n -t C:\Users\prasvi02\workspace\jmeter-maven-collections\src\test\jmeter\mcsEventTestPlan.jmx -l C:\Users\prasvi02\workspace\jmeter-maven-collections\target\jmeter\results\mcsEventTestPlan.jtl -d C:\Users\prasvi02\workspace\jmeter-maven-collections\target\jmeter -L DEBUG -j C:\Users\prasvi02\workspace\jmeter-maven-collections\target\jmeter\logs\mcsEventTestPlan.jmx.log
[info] Executing test: mcsEventTestPlan.jmx

Richard Olsson

unread,
Aug 10, 2016, 10:08:27 AM8/10/16
to Maven JMeter Plugin Users
Hi,

Maybe some input. It was at least working for me in 2.x:

 <propertiesUser>
                                <NUMBER_OF_LOOPS>${number_of_loops}</NUMBER_OF_LOOPS>
                                <DURATION>${duration}</DURATION>
                                <NUMBER_OF_CLIENTS>${number_of_clients}</NUMBER_OF_CLIENTS>
                                <THREAD_DELAY>${thread_delay}</THREAD_DELAY>
                                <RAMP_UP>${ramp_up}</RAMP_UP>
                                <CDRS_HOST_INIT>${cdrs_host_init}</CDRS_HOST_INIT>
                                <CDRS_PORT>${cdrs_port}</CDRS_PORT>
                                <PROT>${prot}</PROT>
                                <TEST_ID>${test_id}</TEST_ID>
                                <START_DELAY>${start_delay}</START_DELAY>
</propertiesUser>
.....

-------------------------
<hashTree>
      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
        <collectionProp name="Arguments.arguments">
         ...
          <elementProp name="START_DELAY" elementType="Argument">
            <stringProp name="Argument.name">START_DELAY</stringProp>
            <stringProp name="Argument.value">${__P(START_DELAY,0)}</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
            <stringProp name="Argument.desc">Start delay in sec used in Thread Group. Delay the start of the real test execution against CDRS. Default=0 sec.</stringProp>
          </elementProp>
          <elementProp name="THREAD_DELAY" elementType="Argument">
            <stringProp name="Argument.name">THREAD_DELAY</stringProp>
            <stringProp name="Argument.value">${__P(THREAD_DELAY,0)}</stringProp>
            <stringProp name="Argument.desc">Time delay until starting next thread group loop iteration. Default:0 ms.</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="NUMBER_OF_CLIENTS" elementType="Argument">
            <stringProp name="Argument.name">NUMBER_OF_CLIENTS</stringProp>
            <stringProp name="Argument.value">${__P(NUMBER_OF_CLIENTS,1024)}</stringProp>
            <stringProp name="Argument.desc">How many users that are simulated concurrently to send data to CDRS. Default=1024.</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="NUMBER_OF_LOOPS" elementType="Argument">
            <stringProp name="Argument.name">NUMBER_OF_LOOPS</stringProp>
            <stringProp name="Argument.value">${__P(NUMBER_OF_LOOPS,1000000000)}</stringProp>
            <stringProp name="Argument.desc">Number of loops for each thread. Total number of CDRS connections = CLIENTS * LOOPS. Default:1000000000. (Avoid stopping before Duration)  </stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
...

-------------------

15:52:56 Executing Maven:  -B -f /var/opt/jenkins-slave/workspace/xxxxx/xxxxxx_GCS_load_test-xxxxx-583_B_feature_branch_man/pom.xml -s /var/opt/jenkins-slave/workspace/xxxxx/xxxxxx_GCS_load_test-xxxxxx-583_B_feature_branch_man/settings.xml verify -Djmx-file=xxxxxx_gcs_load_test.jmx -Dcdrs_host_init=stb-xxxxx-cdrs-04.nix.cydmodule.com -Dnumber_of_loops=1 -Dduration= -Dnumber_of_clients=1 -Dcdrs_port= -Dprot= -Dtest_id= -Dramp_up= -Dthread_delay= -Dstart_delay=
15:52:57 [INFO] Scanning for projects...

-------------------------

BR
Richard
Reply all
Reply to author
Forward
0 new messages