alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

JMeter example source code file (BatchTestLocal.jmx)

This example JMeter source code file (BatchTestLocal.jmx) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - JMeter tags/keywords

argument, argument, arguments, arguments, javasampler, javasampler, responsecode, responsemessage, resultdata, resultdata, samplerdata, sleep_mask, sleep_time, status

The JMeter BatchTestLocal.jmx source code

<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="2.1">
  <hashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true">
      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
        <collectionProp name="Arguments.arguments"/>
      </elementProp>
      <stringProp name="TestPlan.user_define_classpath">
      <boolProp name="TestPlan.serialize_threadgroups">true
      <boolProp name="TestPlan.functional_mode">false
      <stringProp name="TestPlan.comments">Batch Test using only local resources.
**N.B. If this file is updated, then the expected test data files need to be updated with the new length of this file**</stringProp>
    </TestPlan>
    <hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
        <longProp name="ThreadGroup.start_time">1172922900000
        <stringProp name="ThreadGroup.delay">
        <stringProp name="ThreadGroup.duration">
        <stringProp name="ThreadGroup.num_threads">2
        <boolProp name="ThreadGroup.scheduler">false
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false
          <stringProp name="LoopController.loops">2
        </elementProp>
        <longProp name="ThreadGroup.end_time">1172922900000
        <stringProp name="ThreadGroup.on_sample_error">continue
        <stringProp name="ThreadGroup.ramp_time">30
        <stringProp name="TestPlan.comments">N.B. The ramp-up period is set so that the first thread will finish before the second.
This is to ensure the test output is predictable, whilst still allowing testing of unshared counter etc</stringProp>
      </ThreadGroup>
      <hashTree>
        <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="C1 - per user" enabled="true">
          <stringProp name="CounterConfig.start">1
          <stringProp name="CounterConfig.end">
          <stringProp name="CounterConfig.incr">1
          <stringProp name="CounterConfig.name">C1
          <stringProp name="CounterConfig.format">
          <boolProp name="CounterConfig.per_user">true
          <stringProp name="TestPlan.comments">Should increment for each TG loop
        </CounterConfig>
        <hashTree/>
        <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop3" enabled="true">
          <boolProp name="LoopController.continue_forever">true
          <stringProp name="LoopController.loops">3
        </LoopController>
        <hashTree>
          <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java 1" enabled="true">
            <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
              <collectionProp name="Arguments.arguments">
                <elementProp name="Sleep_Time" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Time
                  <stringProp name="Argument.value">100
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Sleep_Mask" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Mask
                  <stringProp name="Argument.value">0xFF
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Label" elementType="Argument">
                  <stringProp name="Argument.name">Label
                  <stringProp name="Argument.value">Java 1 C1=${C1}
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseCode" elementType="Argument">
                  <stringProp name="Argument.name">ResponseCode
                  <stringProp name="Argument.value">200
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseMessage" elementType="Argument">
                  <stringProp name="Argument.name">ResponseMessage
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Status" elementType="Argument">
                  <stringProp name="Argument.name">Status
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="SamplerData" elementType="Argument">
                  <stringProp name="Argument.name">SamplerData
                  <stringProp name="Argument.value">SamplerData
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResultData" elementType="Argument">
                  <stringProp name="Argument.name">ResultData
                  <stringProp name="Argument.value">ResultData
                  <stringProp name="Argument.metadata">=
                </elementProp>
              </collectionProp>
            </elementProp>
            <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
          </JavaSampler>
          <hashTree/>
        </hashTree>
        <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">true
          <stringProp name="LoopController.loops">5
        </LoopController>
        <hashTree>
          <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Loop 5" enabled="true">
            <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
              <collectionProp name="Arguments.arguments">
                <elementProp name="Sleep_Time" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Time
                  <stringProp name="Argument.value">100
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Sleep_Mask" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Mask
                  <stringProp name="Argument.value">0xFF
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Label" elementType="Argument">
                  <stringProp name="Argument.name">Label
                  <stringProp name="Argument.value">Loop5 C1=${C1} C2=${C2} C3=${C3}
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseCode" elementType="Argument">
                  <stringProp name="Argument.name">ResponseCode
                  <stringProp name="Argument.value">200
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseMessage" elementType="Argument">
                  <stringProp name="Argument.name">ResponseMessage
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Status" elementType="Argument">
                  <stringProp name="Argument.name">Status
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="SamplerData" elementType="Argument">
                  <stringProp name="Argument.name">SamplerData
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResultData" elementType="Argument">
                  <stringProp name="Argument.name">ResultData
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
              </collectionProp>
            </elementProp>
            <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
          </JavaSampler>
          <hashTree/>
          <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
            <stringProp name="IfController.condition">${__StringFromFile(testfiles/BatchTestLocal.txt)} > 2
            <boolProp name="IfController.evaluateAll">false
          </IfController>
          <hashTree>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="If Test" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">If Test C1=${C1} C2=${C2} C3=${C3}
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
            <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Test loop" enabled="true">
              <boolProp name="LoopController.continue_forever">true
              <stringProp name="LoopController.loops">3
            </LoopController>
            <hashTree>
              <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Loop" enabled="true">
                <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="Sleep_Time" elementType="Argument">
                      <stringProp name="Argument.name">Sleep_Time
                      <stringProp name="Argument.value">100
                      <stringProp name="Argument.metadata">=
                    </elementProp>
                    <elementProp name="Sleep_Mask" elementType="Argument">
                      <stringProp name="Argument.name">Sleep_Mask
                      <stringProp name="Argument.value">0xFF
                      <stringProp name="Argument.metadata">=
                    </elementProp>
                    <elementProp name="Label" elementType="Argument">
                      <stringProp name="Argument.name">Label
                      <stringProp name="Argument.value">Loop3 C1=${C1} C2=${C2} C3=${C3}
                      <stringProp name="Argument.metadata">=
                    </elementProp>
                    <elementProp name="ResponseCode" elementType="Argument">
                      <stringProp name="Argument.name">ResponseCode
                      <stringProp name="Argument.value">200
                      <stringProp name="Argument.metadata">=
                    </elementProp>
                    <elementProp name="ResponseMessage" elementType="Argument">
                      <stringProp name="Argument.name">ResponseMessage
                      <stringProp name="Argument.value">OK
                      <stringProp name="Argument.metadata">=
                    </elementProp>
                    <elementProp name="Status" elementType="Argument">
                      <stringProp name="Argument.name">Status
                      <stringProp name="Argument.value">OK
                      <stringProp name="Argument.metadata">=
                    </elementProp>
                    <elementProp name="SamplerData" elementType="Argument">
                      <stringProp name="Argument.name">SamplerData
                      <stringProp name="Argument.value">
                      <stringProp name="Argument.metadata">=
                    </elementProp>
                    <elementProp name="ResultData" elementType="Argument">
                      <stringProp name="Argument.name">ResultData
                      <stringProp name="Argument.value">
                      <stringProp name="Argument.metadata">=
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
              </JavaSampler>
              <hashTree/>
              <ModuleController guiclass="ModuleControllerGui" testclass="ModuleController" testname="Module Controller" enabled="true">
                <collectionProp name="ModuleController.node_path">
                  <stringProp name="-1227702913">WorkBench
                  <stringProp name="764597751">Test Plan
                  <stringProp name="-1948168983">Thread Group
                  <stringProp name="307399011">Simple Controller for Module Controller
                </collectionProp>
              </ModuleController>
              <hashTree/>
            </hashTree>
          </hashTree>
          <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="C2 - per user" enabled="true">
            <stringProp name="CounterConfig.start">1
            <stringProp name="CounterConfig.end">5
            <stringProp name="CounterConfig.incr">1
            <stringProp name="CounterConfig.name">C2
            <stringProp name="CounterConfig.format">
            <boolProp name="CounterConfig.per_user">true
          </CounterConfig>
          <hashTree/>
          <CounterConfig guiclass="CounterConfigGui" testclass="CounterConfig" testname="C3 - global" enabled="true">
            <stringProp name="CounterConfig.start">1
            <stringProp name="CounterConfig.end">
            <stringProp name="CounterConfig.incr">1
            <stringProp name="CounterConfig.name">C3
            <stringProp name="CounterConfig.format">
            <boolProp name="CounterConfig.per_user">false
          </CounterConfig>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write CSV" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>false
              <latency>false
              <timestamp>false
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>true
              <samplerData>true
              <xml>false
              <fieldNames>true
              <responseHeaders>true
              <requestHeaders>true
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>true
              <assertionsResultsToSave>0
              <bytes>true
              <url>true
              <fileName>true
              <threadCounts>true
              <sampleCount>true
            </value>
          </objProp>
          <stringProp name="filename">${__P(CSVFILE)}
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write XML" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>false
              <latency>false
              <timestamp>false
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>true
              <samplerData>true
              <xml>true
              <fieldNames>true
              <responseHeaders>true
              <requestHeaders>true
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>true
              <assertionsResultsToSave>0
              <bytes>true
              <url>true
              <fileName>true
              <threadCounts>true
              <sampleCount>true
            </value>
          </objProp>
          <stringProp name="filename">BatchTestLocal.xml
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>true
              <latency>false
              <timestamp>true
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>false
              <xml>false
              <fieldNames>false
              <responseHeaders>false
              <requestHeaders>false
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>false
              <assertionsResultsToSave>0
            </value>
          </objProp>
          <stringProp name="filename">
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>true
              <latency>true
              <timestamp>true
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>false
              <xml>true
              <fieldNames>false
              <responseHeaders>false
              <requestHeaders>false
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>false
              <assertionsResultsToSave>0
              <bytes>true
            </value>
          </objProp>
          <stringProp name="filename">
        </ResultCollector>
        <hashTree/>
        <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">true
          <stringProp name="LoopController.loops">2
        </LoopController>
        <hashTree>
          <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If once" enabled="true">
            <stringProp name="IfController.condition">${JMeterThread.last_sample_ok}
            <boolProp name="IfController.evaluateAll">false
          </IfController>
          <hashTree>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java If once 1" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">BAD
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java If once 2" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
          </hashTree>
          <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If all" enabled="true">
            <stringProp name="IfController.condition">${JMeterThread.last_sample_ok}
            <boolProp name="IfController.evaluateAll">true
          </IfController>
          <hashTree>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java If all 1" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">BAD
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java If all 2" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
          </hashTree>
          <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java OK" enabled="true">
            <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
              <collectionProp name="Arguments.arguments">
                <elementProp name="Sleep_Time" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Time
                  <stringProp name="Argument.value">100
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Sleep_Mask" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Mask
                  <stringProp name="Argument.value">0xFF
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Label" elementType="Argument">
                  <stringProp name="Argument.name">Label
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseCode" elementType="Argument">
                  <stringProp name="Argument.name">ResponseCode
                  <stringProp name="Argument.value">200
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseMessage" elementType="Argument">
                  <stringProp name="Argument.name">ResponseMessage
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Status" elementType="Argument">
                  <stringProp name="Argument.name">Status
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="SamplerData" elementType="Argument">
                  <stringProp name="Argument.name">SamplerData
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResultData" elementType="Argument">
                  <stringProp name="Argument.name">ResultData
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
              </collectionProp>
            </elementProp>
            <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
          </JavaSampler>
          <hashTree/>
        </hashTree>
        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Simple Controller for Module Controller" enabled="false">
          <stringProp name="TestPlan.comments"> for Module Controller
        </GenericController>
        <hashTree>
          <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Module" enabled="true">
            <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
              <collectionProp name="Arguments.arguments">
                <elementProp name="Sleep_Time" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Time
                  <stringProp name="Argument.value">100
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Sleep_Mask" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Mask
                  <stringProp name="Argument.value">0xFF
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Label" elementType="Argument">
                  <stringProp name="Argument.name">Label
                  <stringProp name="Argument.value">${__P(module)}
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseCode" elementType="Argument">
                  <stringProp name="Argument.name">ResponseCode
                  <stringProp name="Argument.value">200
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseMessage" elementType="Argument">
                  <stringProp name="Argument.name">ResponseMessage
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Status" elementType="Argument">
                  <stringProp name="Argument.name">Status
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="SamplerData" elementType="Argument">
                  <stringProp name="Argument.name">SamplerData
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResultData" elementType="Argument">
                  <stringProp name="Argument.name">ResultData
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
              </collectionProp>
            </elementProp>
            <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
          </JavaSampler>
          <hashTree/>
        </hashTree>
        <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Zero Loops" enabled="true">
          <boolProp name="LoopController.continue_forever">true
          <stringProp name="TestPlan.comments">Test zero loops
          <stringProp name="LoopController.loops">0
        </LoopController>
        <hashTree>
          <TestAction guiclass="TestActionGui" testclass="TestAction" testname="Test Action" enabled="true">
            <stringProp name="TestPlan.comments">Just in case the loop accidentally runs
            <intProp name="ActionProcessor.action">2
            <intProp name="ActionProcessor.target">2
            <stringProp name="ActionProcessor.duration">
          </TestAction>
          <hashTree/>
        </hashTree>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
        <stringProp name="TestPlan.comments">Runs after first thread group.
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false
          <stringProp name="LoopController.loops">1
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1
        <stringProp name="ThreadGroup.ramp_time">1
        <longProp name="ThreadGroup.start_time">1194880755000
        <longProp name="ThreadGroup.end_time">1194880755000
        <boolProp name="ThreadGroup.scheduler">false
        <stringProp name="ThreadGroup.on_sample_error">continue
        <stringProp name="ThreadGroup.duration">
        <stringProp name="ThreadGroup.delay">
      </ThreadGroup>
      <hashTree>
        <HTTPSampler guiclass="HttpTestSampleGui" testclass="HTTPSampler" testname="HTTP "Request," enabled="true">
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
            <collectionProp name="Arguments.arguments"/>
          </elementProp>
          <stringProp name="HTTPSampler.domain">
          <stringProp name="HTTPSampler.port">
          <stringProp name="HTTPSampler.protocol">file
          <stringProp name="HTTPSampler.contentEncoding">
          <stringProp name="HTTPSampler.path">testfiles/BatchTestLocal.jmx
          <stringProp name="HTTPSampler.method">GET
          <boolProp name="HTTPSampler.follow_redirects">false
          <boolProp name="HTTPSampler.auto_redirects">true
          <boolProp name="HTTPSampler.use_keepalive">true
          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false
          <stringProp name="HTTPSampler.FILE_NAME">
          <stringProp name="HTTPSampler.FILE_FIELD">
          <stringProp name="HTTPSampler.mimetype">
          <boolProp name="HTTPSampler.monitor">false
          <stringProp name="HTTPSampler.embedded_url_re">
          <stringProp name="TestPlan.comments">N.B. The file that is loaded must have a fixed size, so HTML won't do as it will be different on Unix and Windows.
We use this file, which has eol=LF - but of course any changes need to be reflected in the expected test data.</stringProp>
        </HTTPSampler>
        <hashTree/>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>true
              <latency>true
              <timestamp>true
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>true
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>true
              <xml>true
              <fieldNames>false
              <responseHeaders>true
              <requestHeaders>true
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>true
              <assertionsResultsToSave>0
              <bytes>true
              <url>true
              <threadCounts>true
              <sampleCount>true
            </value>
          </objProp>
          <stringProp name="filename">
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write CSV" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>false
              <latency>false
              <timestamp>false
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>true
              <xml>false
              <fieldNames>true
              <responseHeaders>true
              <requestHeaders>true
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>true
              <assertionsResultsToSave>0
              <bytes>true
              <url>true
              <fileName>true
              <threadCounts>true
              <sampleCount>true
            </value>
          </objProp>
          <stringProp name="filename">${__P(CSVFILE)}
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write XML" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>false
              <latency>false
              <timestamp>false
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>true
              <xml>true
              <fieldNames>true
              <responseHeaders>true
              <requestHeaders>true
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>true
              <assertionsResultsToSave>0
              <bytes>true
              <url>true
              <fileName>true
              <threadCounts>true
              <sampleCount>true
            </value>
          </objProp>
          <stringProp name="filename">BatchTestLocal.xml
        </ResultCollector>
        <hashTree/>
        <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">true
          <stringProp name="LoopController.loops">4
        </LoopController>
        <hashTree>
          <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
            <stringProp name="SwitchController.value">${__counter(TRUE,COUNT)}
          </SwitchController>
          <hashTree>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="0" enabled="true">
              <stringProp name="TestPlan.comments">0
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">0 ${COUNT}
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="1" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">1 ${COUNT}
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="2" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">2 ${COUNT}
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="3" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">3 ${COUNT}
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
          </hashTree>
        </hashTree>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false
          <stringProp name="LoopController.loops">1
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1
        <stringProp name="ThreadGroup.ramp_time">1
        <longProp name="ThreadGroup.start_time">1226668173000
        <longProp name="ThreadGroup.end_time">1226668173000
        <boolProp name="ThreadGroup.scheduler">false
        <stringProp name="ThreadGroup.on_sample_error">continue
        <stringProp name="ThreadGroup.duration">
        <stringProp name="ThreadGroup.delay">
      </ThreadGroup>
      <hashTree>
        <UserParameters guiclass="UserParametersGui" testclass="UserParameters" testname="User Parameters" enabled="true">
          <collectionProp name="UserParameters.names">
            <stringProp name="2388619">NAME
          </collectionProp>
          <collectionProp name="UserParameters.thread_values">
            <collectionProp name="81040869">
              <stringProp name="81040838">USER1
            </collectionProp>
          </collectionProp>
          <boolProp name="UserParameters.per_iteration">false
        </UserParameters>
        <hashTree/>
        <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="Java Request" enabled="true">
          <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="Sleep_Time" elementType="Argument">
                <stringProp name="Argument.name">Sleep_Time
                <stringProp name="Argument.value">100
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Sleep_Mask" elementType="Argument">
                <stringProp name="Argument.name">Sleep_Mask
                <stringProp name="Argument.value">0xFF
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Label" elementType="Argument">
                <stringProp name="Argument.name">Label
                <stringProp name="Argument.value">NAME ${NAME}
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResponseCode" elementType="Argument">
                <stringProp name="Argument.name">ResponseCode
                <stringProp name="Argument.value">200
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResponseMessage" elementType="Argument">
                <stringProp name="Argument.name">ResponseMessage
                <stringProp name="Argument.value">OK
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Status" elementType="Argument">
                <stringProp name="Argument.name">Status
                <stringProp name="Argument.value">OK
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="SamplerData" elementType="Argument">
                <stringProp name="Argument.name">SamplerData
                <stringProp name="Argument.value">
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResultData" elementType="Argument">
                <stringProp name="Argument.name">ResultData
                <stringProp name="Argument.value">
                <stringProp name="Argument.metadata">=
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
        </JavaSampler>
        <hashTree/>
        <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write CSV" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>false
              <latency>false
              <timestamp>false
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>true
              <samplerData>true
              <xml>false
              <fieldNames>true
              <responseHeaders>true
              <requestHeaders>true
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>true
              <assertionsResultsToSave>0
              <bytes>true
              <url>true
              <fileName>true
              <threadCounts>true
              <sampleCount>true
            </value>
          </objProp>
          <stringProp name="filename">${__P(CSVFILE)}
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>true
              <latency>false
              <timestamp>true
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>false
              <xml>false
              <fieldNames>false
              <responseHeaders>false
              <requestHeaders>false
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>false
              <assertionsResultsToSave>0
            </value>
          </objProp>
          <stringProp name="filename">
        </ResultCollector>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
        <stringProp name="TestPlan.comments">Once Only Controller tests
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false
          <stringProp name="LoopController.loops">3
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1
        <stringProp name="ThreadGroup.ramp_time">1
        <longProp name="ThreadGroup.start_time">1242238972000
        <longProp name="ThreadGroup.end_time">1242238972000
        <boolProp name="ThreadGroup.scheduler">false
        <stringProp name="ThreadGroup.on_sample_error">continue
        <stringProp name="ThreadGroup.duration">
        <stringProp name="ThreadGroup.delay">
      </ThreadGroup>
      <hashTree>
        <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="TG1 = 3" enabled="true">
          <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="Sleep_Time" elementType="Argument">
                <stringProp name="Argument.name">Sleep_Time
                <stringProp name="Argument.value">100
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Sleep_Mask" elementType="Argument">
                <stringProp name="Argument.name">Sleep_Mask
                <stringProp name="Argument.value">0xFF
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Label" elementType="Argument">
                <stringProp name="Argument.name">Label
                <stringProp name="Argument.value">
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResponseCode" elementType="Argument">
                <stringProp name="Argument.name">ResponseCode
                <stringProp name="Argument.value">200
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResponseMessage" elementType="Argument">
                <stringProp name="Argument.name">ResponseMessage
                <stringProp name="Argument.value">OK
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Status" elementType="Argument">
                <stringProp name="Argument.name">Status
                <stringProp name="Argument.value">OK
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="SamplerData" elementType="Argument">
                <stringProp name="Argument.name">SamplerData
                <stringProp name="Argument.value">
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResultData" elementType="Argument">
                <stringProp name="Argument.name">ResultData
                <stringProp name="Argument.value">
                <stringProp name="Argument.metadata">=
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
        </JavaSampler>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="TG OO = 1" enabled="true">
            <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
              <collectionProp name="Arguments.arguments">
                <elementProp name="Sleep_Time" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Time
                  <stringProp name="Argument.value">100
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Sleep_Mask" elementType="Argument">
                  <stringProp name="Argument.name">Sleep_Mask
                  <stringProp name="Argument.value">0xFF
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Label" elementType="Argument">
                  <stringProp name="Argument.name">Label
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseCode" elementType="Argument">
                  <stringProp name="Argument.name">ResponseCode
                  <stringProp name="Argument.value">200
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResponseMessage" elementType="Argument">
                  <stringProp name="Argument.name">ResponseMessage
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="Status" elementType="Argument">
                  <stringProp name="Argument.name">Status
                  <stringProp name="Argument.value">OK
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="SamplerData" elementType="Argument">
                  <stringProp name="Argument.name">SamplerData
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
                <elementProp name="ResultData" elementType="Argument">
                  <stringProp name="Argument.name">ResultData
                  <stringProp name="Argument.value">
                  <stringProp name="Argument.metadata">=
                </elementProp>
              </collectionProp>
            </elementProp>
            <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
          </JavaSampler>
          <hashTree/>
        </hashTree>
        <LoopController guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">true
          <stringProp name="LoopController.loops">3
        </LoopController>
        <hashTree>
          <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
          <hashTree>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="TG Loop =3" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
          </hashTree>
        </hashTree>
        <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="TG2 = 3" enabled="true">
          <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="Sleep_Time" elementType="Argument">
                <stringProp name="Argument.name">Sleep_Time
                <stringProp name="Argument.value">100
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Sleep_Mask" elementType="Argument">
                <stringProp name="Argument.name">Sleep_Mask
                <stringProp name="Argument.value">0xFF
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Label" elementType="Argument">
                <stringProp name="Argument.name">Label
                <stringProp name="Argument.value">
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResponseCode" elementType="Argument">
                <stringProp name="Argument.name">ResponseCode
                <stringProp name="Argument.value">200
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResponseMessage" elementType="Argument">
                <stringProp name="Argument.name">ResponseMessage
                <stringProp name="Argument.value">OK
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="Status" elementType="Argument">
                <stringProp name="Argument.name">Status
                <stringProp name="Argument.value">OK
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="SamplerData" elementType="Argument">
                <stringProp name="Argument.name">SamplerData
                <stringProp name="Argument.value">
                <stringProp name="Argument.metadata">=
              </elementProp>
              <elementProp name="ResultData" elementType="Argument">
                <stringProp name="Argument.name">ResultData
                <stringProp name="Argument.value">
                <stringProp name="Argument.metadata">=
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
        </JavaSampler>
        <hashTree/>
        <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Simple Controller" enabled="false"/>
        <hashTree>
          <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true">
            <stringProp name="TestPlan.comments">Does not work currently - should only run once, as SC should be ignored
          </OnceOnlyController>
          <hashTree>
            <JavaSampler guiclass="JavaTestSamplerGui" testclass="JavaSampler" testname="TG SC OO = 1" enabled="true">
              <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="Sleep_Time" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Time
                    <stringProp name="Argument.value">100
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Sleep_Mask" elementType="Argument">
                    <stringProp name="Argument.name">Sleep_Mask
                    <stringProp name="Argument.value">0xFF
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Label" elementType="Argument">
                    <stringProp name="Argument.name">Label
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseCode" elementType="Argument">
                    <stringProp name="Argument.name">ResponseCode
                    <stringProp name="Argument.value">200
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResponseMessage" elementType="Argument">
                    <stringProp name="Argument.name">ResponseMessage
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="Status" elementType="Argument">
                    <stringProp name="Argument.name">Status
                    <stringProp name="Argument.value">OK
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="SamplerData" elementType="Argument">
                    <stringProp name="Argument.name">SamplerData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                  <elementProp name="ResultData" elementType="Argument">
                    <stringProp name="Argument.name">ResultData
                    <stringProp name="Argument.value">
                    <stringProp name="Argument.metadata">=
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="classname">org.apache.jmeter.protocol.java.test.JavaTest
            </JavaSampler>
            <hashTree/>
          </hashTree>
        </hashTree>
        <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write CSV" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>false
              <latency>false
              <timestamp>false
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>true
              <xml>false
              <fieldNames>true
              <responseHeaders>true
              <requestHeaders>true
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>true
              <assertionsResultsToSave>0
              <bytes>true
              <url>true
              <fileName>true
              <threadCounts>true
              <sampleCount>true
            </value>
          </objProp>
          <stringProp name="filename">${__P(CSVFILE)}
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="SimpleDataWriter" testclass="ResultCollector" testname="Write XML" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>false
              <latency>false
              <timestamp>false
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>true
              <xml>true
              <fieldNames>true
              <responseHeaders>true
              <requestHeaders>true
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>true
              <assertionsResultsToSave>0
              <bytes>true
              <url>true
              <fileName>true
              <threadCounts>true
              <sampleCount>true
            </value>
          </objProp>
          <stringProp name="filename">BatchTestLocal.xml
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>true
              <latency>true
              <timestamp>true
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>false
              <xml>true
              <fieldNames>false
              <responseHeaders>false
              <requestHeaders>false
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>false
              <assertionsResultsToSave>0
              <bytes>true
            </value>
          </objProp>
          <stringProp name="filename">
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
          <boolProp name="ResultCollector.error_logging">false
          <objProp>
            <name>saveConfig
            <value class="SampleSaveConfiguration">
              <time>true
              <latency>true
              <timestamp>true
              <success>true
              <label>true
              <code>true
              <message>true
              <threadName>true
              <dataType>true
              <encoding>false
              <assertions>true
              <subresults>true
              <responseData>false
              <samplerData>false
              <xml>true
              <fieldNames>false
              <responseHeaders>false
              <requestHeaders>false
              <responseDataOnError>false
              <saveAssertionResultsFailureMessage>false
              <assertionsResultsToSave>0
              <bytes>true
            </value>
          </objProp>
          <stringProp name="filename">
        </ResultCollector>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Zero Thread" enabled="true">
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false
          <stringProp name="LoopController.loops">0
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1
        <stringProp name="ThreadGroup.ramp_time">1
        <longProp name="ThreadGroup.start_time">1242238814000
        <longProp name="ThreadGroup.end_time">1242238814000
        <boolProp name="ThreadGroup.scheduler">false
        <stringProp name="ThreadGroup.on_sample_error">continue
        <stringProp name="ThreadGroup.duration">
        <stringProp name="ThreadGroup.delay">
      </ThreadGroup>
      <hashTree>
        <TestAction guiclass="TestActionGui" testclass="TestAction" testname="Test Action" enabled="true">
          <stringProp name="TestPlan.comments">Just in case Thread Group runs
          <intProp name="ActionProcessor.action">2
          <intProp name="ActionProcessor.target">2
          <stringProp name="ActionProcessor.duration">
        </TestAction>
        <hashTree/>
      </hashTree>
    </hashTree>
  </hashTree>
</jmeterTestPlan>

Other JMeter examples (source code examples)

Here is a short list of links related to this JMeter BatchTestLocal.jmx source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.