shopizer.jmx

43038 lines | 2.67 MB Blame History Raw Download
<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="3.2" jmeter="3.3 r1808647">
  <hashTree>
    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Shopizer" enabled="true">
      <stringProp name="TestPlan.comments"></stringProp>
      <boolProp name="TestPlan.functional_mode">false</boolProp>
      <boolProp name="TestPlan.serialize_threadgroups">true</boolProp>
      <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"></stringProp>
    </TestPlan>
    <hashTree>
      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables - COMMON" enabled="true">
        <collectionProp name="Arguments.arguments">
          <elementProp name="NUM_ITEMS" elementType="Argument">
            <stringProp name="Argument.name">NUM_ITEMS</stringProp>
            <stringProp name="Argument.value">100</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="NUM_EBS" elementType="Argument">
            <stringProp name="Argument.name">NUM_EBS</stringProp>
            <stringProp name="Argument.value">100</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="HOST" elementType="Argument">
            <stringProp name="Argument.name">HOST</stringProp>
            <stringProp name="Argument.value">143.54.10.135</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
            <stringProp name="Argument.desc">${__P(host)}</stringProp>
          </elementProp>
          <elementProp name="PORT" elementType="Argument">
            <stringProp name="Argument.name">PORT</stringProp>
            <stringProp name="Argument.value">8080</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
            <stringProp name="Argument.desc">${__P(remote_port)}</stringProp>
          </elementProp>
          <elementProp name="SHOWCASE" elementType="Argument">
            <stringProp name="Argument.name">SHOWCASE</stringProp>
            <stringProp name="Argument.value">/sm-shop/shop</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="SHOPPING_ID" elementType="Argument">
            <stringProp name="Argument.name">SHOPPING_ID</stringProp>
            <stringProp name="Argument.value"></stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
            <stringProp name="Argument.desc">The value is set during scenario execution!</stringProp>
          </elementProp>
          <elementProp name="ITEM_ID" elementType="Argument">
            <stringProp name="Argument.name">ITEM_ID</stringProp>
            <stringProp name="Argument.value"></stringProp>
            <stringProp name="Argument.desc">The value is set during scenario execution!</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="SWITCH_ID" elementType="Argument">
            <stringProp name="Argument.name">SWITCH_ID</stringProp>
            <stringProp name="Argument.value">0</stringProp>
            <stringProp name="Argument.desc">The value will change during scenarion exectution. Don&apos;t change initial value!</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="COUNTER" elementType="Argument">
            <stringProp name="Argument.name">COUNTER</stringProp>
            <stringProp name="Argument.value">0</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="STARTUP_THREADS" elementType="Argument">
            <stringProp name="Argument.name">STARTUP_THREADS</stringProp>
            <stringProp name="Argument.value">${__P(startup_threads)}</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="REST_THREADS" elementType="Argument">
            <stringProp name="Argument.name">REST_THREADS</stringProp>
            <stringProp name="Argument.value">${__P(rest_threads)}</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="SHOWCASE_ADMIN" elementType="Argument">
            <stringProp name="Argument.name">SHOWCASE_ADMIN</stringProp>
            <stringProp name="Argument.value">/sm-shop/admin</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="NUM_USERS_SIMULATED" elementType="Argument">
            <stringProp name="Argument.name">NUM_USERS_SIMULATED</stringProp>
            <stringProp name="Argument.value">50</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="NUM_LOOP_COUNT" elementType="Argument">
            <stringProp name="Argument.name">NUM_LOOP_COUNT</stringProp>
            <stringProp name="Argument.value">500</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
        </collectionProp>
      </Arguments>
      <hashTree/>
      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables - NUM_CUSTOMERS" enabled="true">
        <collectionProp name="Arguments.arguments">
          <elementProp name="NUM_CUSTOMERS" elementType="Argument">
            <stringProp name="Argument.name">NUM_CUSTOMERS</stringProp>
            <stringProp name="Argument.value">50</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
        </collectionProp>
      </Arguments>
      <hashTree/>
      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables - NUM_CUSTOMERS" enabled="false">
        <collectionProp name="Arguments.arguments">
          <elementProp name="NUM_CUSTOMERS" elementType="Argument">
            <stringProp name="Argument.name">NUM_CUSTOMERS</stringProp>
            <stringProp name="Argument.value">${__BeanShell(num_ebs = vars.get(&quot;NUM_EBS&quot;); return Integer.parseInt(num_ebs) * 2880;)}</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
        </collectionProp>
      </Arguments>
      <hashTree/>
      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables - CUSTOMER_ID" enabled="true">
        <collectionProp name="Arguments.arguments">
          <elementProp name="CUSTOMER_ID" elementType="Argument">
            <stringProp name="Argument.name">CUSTOMER_ID</stringProp>
            <stringProp name="Argument.value">${__Random(1, ${NUM_CUSTOMERS})}</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
        </collectionProp>
      </Arguments>
      <hashTree/>
      <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables - CUSTOMER_NAME" enabled="true">
        <collectionProp name="Arguments.arguments">
          <elementProp name="CUSTOMER_NAME" elementType="Argument">
            <stringProp name="Argument.name">CUSTOMER_NAME</stringProp>
            <stringProp name="Argument.value">none</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
          <elementProp name="CART_CODE" elementType="Argument">
            <stringProp name="Argument.name">CART_CODE</stringProp>
            <stringProp name="Argument.value">none</stringProp>
            <stringProp name="Argument.metadata">=</stringProp>
          </elementProp>
        </collectionProp>
      </Arguments>
      <hashTree/>
      <kg.apc.jmeter.threads.UltimateThreadGroup guiclass="kg.apc.jmeter.threads.UltimateThreadGroupGui" testclass="kg.apc.jmeter.threads.UltimateThreadGroup" testname="Shopizer Customer" enabled="false">
        <collectionProp name="ultimatethreadgroupdata">
          <collectionProp name="-465685905">
            <stringProp name="-1665047411">${STARTUP_THREADS}</stringProp>
            <stringProp name="48">0</stringProp>
            <stringProp name="48">0</stringProp>
            <stringProp name="1597881">4140</stringProp>
            <stringProp name="48">0</stringProp>
          </collectionProp>
          <collectionProp name="2134964757">
            <stringProp name="-1687916888">${REST_THREADS}</stringProp>
            <stringProp name="48687">120</stringProp>
            <stringProp name="52593">540</stringProp>
            <stringProp name="1571097">3480</stringProp>
            <stringProp name="0"></stringProp>
          </collectionProp>
        </collectionProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <intProp name="LoopController.loops">-1</intProp>
        </elementProp>
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
      </kg.apc.jmeter.threads.UltimateThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability2" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	1100, // category
	250, // add product to shop cart
	250, // buy
	750, //checkout
	300, // order revision
	82, //customer-registration
	125, // shoppingCart
	1200, // search
	1000, //login
	100, //logout
	//9, // add product
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="[Ignore] - If has CART_CODE" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="[Ignore] - If has CART_CODE" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="[Ignore] - If has CART_CODE" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="login if" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="logout if" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
        </hashTree>
        <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="true">
          <boolProp name="clearEachIteration">false</boolProp>
          <boolProp name="useExpires">false</boolProp>
        </CacheManager>
        <hashTree/>
        <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="false">
          <collectionProp name="CookieManager.cookies"/>
          <boolProp name="CookieManager.clearEachIteration">false</boolProp>
        </CookieManager>
        <hashTree/>
        <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
          <boolProp name="displayJMeterProperties">false</boolProp>
          <boolProp name="displayJMeterVariables">true</boolProp>
          <boolProp name="displaySystemProperties">false</boolProp>
        </DebugSampler>
        <hashTree/>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="false">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">1</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1476966448000</longProp>
        <longProp name="ThreadGroup.end_time">1476966448000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability2" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	1100, // category
	100, // add product to shop cart
	25, // buy
	75, //checkout
	30, // order
	82, //customer-registration
	125, // shoppingCart
	1200, // search
	1000, //login
	100, //logout
	//9, // add product
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] buy-confirm" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();

String[] ccTypes = {
         &quot;Visa&quot;,
         &quot;MasterCard&quot;,
         &quot;Discover&quot;,
         &quot;Amex&quot;,
         &quot;Diners&quot;
};

String[] shippingTypes = {
         &quot;AIR&quot;,
         &quot;UPS&quot;,
         &quot;FEDEX&quot;,
         &quot;SHIP&quot;,
         &quot;COURIER&quot;,
         &quot;MAIL&quot;
};

int min = 0;
int max = ccTypes.length -1;

ccType = ccTypes[rand.nextInt((max - min) + 1) + min];

max = shippingTypes.length-1;

shipping = shippingTypes[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_CC_TYPE&quot;, ccType);
vars.put(&quot;RAND_SHIPPING&quot;, shipping);</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random searchField" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();

String[] searchFields = {
         &quot;author&quot;,
         &quot;title&quot;,
         &quot;subject&quot;
};

min = 0;
max = searchFields.length -1;

searchField = searchFields[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SEARCHFIELD&quot;, searchField);</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
          <stringProp name="HTTPSampler.port">${PORT}</stringProp>
          <stringProp name="HTTPSampler.protocol"></stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
          <stringProp name="HTTPSampler.method">GET</stringProp>
          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
          <boolProp name="HTTPSampler.image_parser">true</boolProp>
          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
          <stringProp name="HTTPSampler.response_timeout"></stringProp>
        </HTTPSamplerProxy>
        <hashTree/>
        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
          <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
            <collectionProp name="Arguments.arguments">
              <elementProp name="" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">false</boolProp>
                <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
          <stringProp name="HTTPSampler.port">${PORT}</stringProp>
          <stringProp name="HTTPSampler.protocol">http</stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
          <stringProp name="HTTPSampler.method">POST</stringProp>
          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
          <boolProp name="HTTPSampler.image_parser">true</boolProp>
          <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
          <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
          <stringProp name="HTTPSampler.response_timeout"></stringProp>
        </HTTPSamplerProxy>
        <hashTree>
          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
            <collectionProp name="HeaderManager.headers">
              <elementProp name="Accept" elementType="Header">
                <stringProp name="Header.name">Accept</stringProp>
                <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
              </elementProp>
              <elementProp name="Origin" elementType="Header">
                <stringProp name="Header.name">Origin</stringProp>
                <stringProp name="Header.value">http://localhost:8080</stringProp>
              </elementProp>
              <elementProp name="X-Requested-With" elementType="Header">
                <stringProp name="Header.name">X-Requested-With</stringProp>
                <stringProp name="Header.value">XMLHttpRequest</stringProp>
              </elementProp>
              <elementProp name="User-Agent" elementType="Header">
                <stringProp name="Header.name">User-Agent</stringProp>
                <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
              </elementProp>
              <elementProp name="Content-Type" elementType="Header">
                <stringProp name="Header.name">Content-Type</stringProp>
                <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
              </elementProp>
              <elementProp name="Referer" elementType="Header">
                <stringProp name="Header.name">Referer</stringProp>
                <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
              </elementProp>
              <elementProp name="Accept-Encoding" elementType="Header">
                <stringProp name="Header.name">Accept-Encoding</stringProp>
                <stringProp name="Header.value">gzip,deflate,br</stringProp>
              </elementProp>
              <elementProp name="Accept-Language" elementType="Header">
                <stringProp name="Header.name">Accept-Language</stringProp>
                <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
              </elementProp>
            </collectionProp>
          </HeaderManager>
          <hashTree/>
          <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
            <stringProp name="VAR">CART_CODE</stringProp>
            <stringProp name="JSONPATH">$.code</stringProp>
            <stringProp name="DEFAULT"></stringProp>
            <stringProp name="VARIABLE"></stringProp>
            <stringProp name="SUBJECT">BODY</stringProp>
          </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
          <hashTree/>
        </hashTree>
        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
          <stringProp name="HTTPSampler.port">${PORT}</stringProp>
          <stringProp name="HTTPSampler.protocol"></stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
          <stringProp name="HTTPSampler.method">GET</stringProp>
          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
          <boolProp name="HTTPSampler.BROWSER_COMPATIBLE_MULTIPART">true</boolProp>
          <boolProp name="HTTPSampler.image_parser">true</boolProp>
          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
          <stringProp name="HTTPSampler.response_timeout"></stringProp>
        </HTTPSamplerProxy>
        <hashTree>
          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
            <collectionProp name="HeaderManager.headers">
              <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                <stringProp name="Header.value">1</stringProp>
              </elementProp>
              <elementProp name="User-Agent" elementType="Header">
                <stringProp name="Header.name">User-Agent</stringProp>
                <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
              </elementProp>
              <elementProp name="Accept" elementType="Header">
                <stringProp name="Header.name">Accept</stringProp>
                <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
              </elementProp>
              <elementProp name="Referer" elementType="Header">
                <stringProp name="Header.name">Referer</stringProp>
                <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
              </elementProp>
              <elementProp name="Accept-Encoding" elementType="Header">
                <stringProp name="Header.name">Accept-Encoding</stringProp>
                <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
              </elementProp>
              <elementProp name="Accept-Language" elementType="Header">
                <stringProp name="Header.name">Accept-Language</stringProp>
                <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
              </elementProp>
              <elementProp name="" elementType="Header">
                <stringProp name="Header.name">test</stringProp>
                <stringProp name="Header.value">${CART_CODE}</stringProp>
              </elementProp>
            </collectionProp>
          </HeaderManager>
          <hashTree/>
          <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
            <collectionProp name="CookieManager.cookies">
              <elementProp name="cart" elementType="Cookie" testname="cart">
                <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                <stringProp name="Cookie.domain">localhost</stringProp>
                <stringProp name="Cookie.path"></stringProp>
                <boolProp name="Cookie.secure">false</boolProp>
                <longProp name="Cookie.expires">0</longProp>
                <boolProp name="Cookie.path_specified">true</boolProp>
                <boolProp name="Cookie.domain_specified">true</boolProp>
              </elementProp>
            </collectionProp>
            <boolProp name="CookieManager.clearEachIteration">true</boolProp>
          </CookieManager>
          <hashTree/>
        </hashTree>
        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="_shipToBillingAdress" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${_shipToBillingAdress}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">_shipToBillingAdress</stringProp>
              </elementProp>
              <elementProp name="customer.billing.address" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.address}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.address</stringProp>
              </elementProp>
              <elementProp name="customer.billing.city" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.city}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.city</stringProp>
              </elementProp>
              <elementProp name="customer.billing.company" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.company}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.company</stringProp>
              </elementProp>
              <elementProp name="customer.billing.country" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.country}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.country</stringProp>
              </elementProp>
              <elementProp name="customer.billing.firstName" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.firstName}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.firstName</stringProp>
              </elementProp>
              <elementProp name="customer.billing.lastName" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.lastName}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.lastName</stringProp>
              </elementProp>
              <elementProp name="customer.billing.phone" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.phone}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.phone</stringProp>
              </elementProp>
              <elementProp name="customer.billing.postalCode" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.postalCode}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.postalCode</stringProp>
              </elementProp>
              <elementProp name="customer.billing.stateProvince" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.stateProvince}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.stateProvince</stringProp>
              </elementProp>
              <elementProp name="customer.billing.zone" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.billing.zone}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.billing.zone</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.address" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.address}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.address</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.city" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.city}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.city</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.company" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.company}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.company</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.country" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.country}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.country</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.firstName" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.firstName}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.firstName</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.lastName" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.lastName}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.lastName</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.postalCode" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.postalCode}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.postalCode</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.stateProvince" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.stateProvince}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.stateProvince</stringProp>
              </elementProp>
              <elementProp name="customer.delivery.zone" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.delivery.zone}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.delivery.zone</stringProp>
              </elementProp>
              <elementProp name="customer.emailAddress" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${customer.emailAddress}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">customer.emailAddress</stringProp>
              </elementProp>
              <elementProp name="paymentMethodType" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${paymentMethodType}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">paymentMethodType</stringProp>
              </elementProp>
              <elementProp name="paymentModule" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${paymentModule}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">paymentModule</stringProp>
              </elementProp>
              <elementProp name="shipToBillingAdress" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.value">${shipToBillingAdress}</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
                <stringProp name="Argument.name">shipToBillingAdress</stringProp>
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
          <stringProp name="HTTPSampler.port">${PORT}</stringProp>
          <stringProp name="HTTPSampler.protocol">http</stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
          <stringProp name="HTTPSampler.method">POST</stringProp>
          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
          <boolProp name="HTTPSampler.image_parser">true</boolProp>
          <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
          <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
          <stringProp name="HTTPSampler.response_timeout"></stringProp>
        </HTTPSamplerProxy>
        <hashTree>
          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
            <collectionProp name="HeaderManager.headers">
              <elementProp name="Origin" elementType="Header">
                <stringProp name="Header.name">Origin</stringProp>
                <stringProp name="Header.value">http://localhost:8080</stringProp>
              </elementProp>
              <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                <stringProp name="Header.value">1</stringProp>
              </elementProp>
              <elementProp name="User-Agent" elementType="Header">
                <stringProp name="Header.name">User-Agent</stringProp>
                <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
              </elementProp>
              <elementProp name="Content-Type" elementType="Header">
                <stringProp name="Header.name">Content-Type</stringProp>
                <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
              </elementProp>
              <elementProp name="Accept" elementType="Header">
                <stringProp name="Header.name">Accept</stringProp>
                <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
              </elementProp>
              <elementProp name="Referer" elementType="Header">
                <stringProp name="Header.name">Referer</stringProp>
                <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
              </elementProp>
              <elementProp name="Accept-Encoding" elementType="Header">
                <stringProp name="Header.name">Accept-Encoding</stringProp>
                <stringProp name="Header.value">gzip,deflate,br</stringProp>
              </elementProp>
              <elementProp name="Accept-Language" elementType="Header">
                <stringProp name="Header.name">Accept-Language</stringProp>
                <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
              </elementProp>
            </collectionProp>
          </HeaderManager>
          <hashTree/>
          <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="true">
            <collectionProp name="CookieManager.cookies">
              <elementProp name="cart" elementType="Cookie" testname="cart">
                <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                <stringProp name="Cookie.domain">localhost</stringProp>
                <stringProp name="Cookie.path"></stringProp>
                <boolProp name="Cookie.secure">false</boolProp>
                <longProp name="Cookie.expires">0</longProp>
                <boolProp name="Cookie.path_specified">true</boolProp>
                <boolProp name="Cookie.domain_specified">true</boolProp>
              </elementProp>
            </collectionProp>
            <boolProp name="CookieManager.clearEachIteration">true</boolProp>
          </CookieManager>
          <hashTree/>
        </hashTree>
        <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
          <boolProp name="displayJMeterProperties">false</boolProp>
          <boolProp name="displayJMeterVariables">true</boolProp>
          <boolProp name="displaySystemProperties">false</boolProp>
        </DebugSampler>
        <hashTree/>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <ResultCollector guiclass="TableVisualizer" testclass="ResultCollector" testname="View Results in Table" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
          <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;lala2&quot;</stringProp>
          <boolProp name="IfController.evaluateAll">false</boolProp>
        </IfController>
        <hashTree>
          <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="false">
            <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
              <collectionProp name="Arguments.arguments">
                <elementProp name="password" elementType="HTTPArgument">
                  <boolProp name="HTTPArgument.always_encode">true</boolProp>
                  <stringProp name="Argument.name">password</stringProp>
                  <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                  <stringProp name="Argument.metadata">=</stringProp>
                  <boolProp name="HTTPArgument.use_equals">true</boolProp>
                </elementProp>
                <elementProp name="storeCode" elementType="HTTPArgument">
                  <boolProp name="HTTPArgument.always_encode">true</boolProp>
                  <stringProp name="Argument.name">storeCode</stringProp>
                  <stringProp name="Argument.value">DEFAULT</stringProp>
                  <stringProp name="Argument.metadata">=</stringProp>
                  <boolProp name="HTTPArgument.use_equals">true</boolProp>
                </elementProp>
                <elementProp name="userName" elementType="HTTPArgument">
                  <boolProp name="HTTPArgument.always_encode">true</boolProp>
                  <stringProp name="Argument.name">userName</stringProp>
                  <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                  <stringProp name="Argument.metadata">=</stringProp>
                  <boolProp name="HTTPArgument.use_equals">true</boolProp>
                </elementProp>
              </collectionProp>
            </elementProp>
            <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
            <stringProp name="HTTPSampler.port">${PORT}</stringProp>
            <stringProp name="HTTPSampler.protocol">http</stringProp>
            <stringProp name="HTTPSampler.contentEncoding"></stringProp>
            <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
            <stringProp name="HTTPSampler.method">POST</stringProp>
            <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
            <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
            <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
            <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
            <boolProp name="HTTPSampler.image_parser">true</boolProp>
            <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
            <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
            <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
            <stringProp name="HTTPSampler.connect_timeout"></stringProp>
            <stringProp name="HTTPSampler.response_timeout"></stringProp>
          </HTTPSamplerProxy>
          <hashTree>
            <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import java.util.Random;

min = 1;
max = 400;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
            </BeanShellPreProcessor>
            <hashTree/>
          </hashTree>
          <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
          </ConstantTimer>
          <hashTree/>
          <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
            <boolProp name="resetInterpreter">false</boolProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
          </BeanShellPreProcessor>
          <hashTree/>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
        </hashTree>
        <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
          <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;customer&quot;</stringProp>
          <boolProp name="IfController.evaluateAll">false</boolProp>
        </IfController>
        <hashTree>
          <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="false">
            <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
              <collectionProp name="Arguments.arguments">
                <elementProp name="password" elementType="HTTPArgument">
                  <boolProp name="HTTPArgument.always_encode">true</boolProp>
                  <stringProp name="Argument.name">password</stringProp>
                  <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                  <stringProp name="Argument.metadata">=</stringProp>
                  <boolProp name="HTTPArgument.use_equals">true</boolProp>
                </elementProp>
                <elementProp name="storeCode" elementType="HTTPArgument">
                  <boolProp name="HTTPArgument.always_encode">true</boolProp>
                  <stringProp name="Argument.name">storeCode</stringProp>
                  <stringProp name="Argument.value">DEFAULT</stringProp>
                  <stringProp name="Argument.metadata">=</stringProp>
                  <boolProp name="HTTPArgument.use_equals">true</boolProp>
                </elementProp>
                <elementProp name="userName" elementType="HTTPArgument">
                  <boolProp name="HTTPArgument.always_encode">true</boolProp>
                  <stringProp name="Argument.name">userName</stringProp>
                  <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                  <stringProp name="Argument.metadata">=</stringProp>
                  <boolProp name="HTTPArgument.use_equals">true</boolProp>
                </elementProp>
              </collectionProp>
            </elementProp>
            <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
            <stringProp name="HTTPSampler.port">${PORT}</stringProp>
            <stringProp name="HTTPSampler.protocol">http</stringProp>
            <stringProp name="HTTPSampler.contentEncoding"></stringProp>
            <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
            <stringProp name="HTTPSampler.method">POST</stringProp>
            <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
            <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
            <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
            <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
            <boolProp name="HTTPSampler.image_parser">true</boolProp>
            <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
            <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
            <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
            <stringProp name="HTTPSampler.connect_timeout"></stringProp>
            <stringProp name="HTTPSampler.response_timeout"></stringProp>
          </HTTPSamplerProxy>
          <hashTree>
            <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import java.util.Random;

min = 1;
max = 400;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
            </BeanShellPreProcessor>
            <hashTree/>
          </hashTree>
          <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
          </ConstantTimer>
          <hashTree/>
          <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
            <boolProp name="resetInterpreter">false</boolProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
          </BeanShellPreProcessor>
          <hashTree/>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
          <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
            <boolProp name="resetInterpreter">false</boolProp>
            <stringProp name="parameters"></stringProp>
            <stringProp name="filename"></stringProp>
            <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);</stringProp>
          </BeanShellPostProcessor>
          <hashTree/>
        </hashTree>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Shopizer Admin" enabled="false">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">1</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">1</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1363247040000</longProp>
        <longProp name="ThreadGroup.end_time">1363247040000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration">0</stringProp>
        <stringProp name="ThreadGroup.delay">0</stringProp>
        <stringProp name="TestPlan.comments">Edits and adds a product</stringProp>
      </ThreadGroup>
      <hashTree>
        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
            <collectionProp name="Arguments.arguments">
              <elementProp name="j_password" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.name">j_password</stringProp>
                <stringProp name="Argument.value">password</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
              <elementProp name="j_username" elementType="HTTPArgument">
                <boolProp name="HTTPArgument.always_encode">true</boolProp>
                <stringProp name="Argument.name">j_username</stringProp>
                <stringProp name="Argument.value">admin</stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
                <boolProp name="HTTPArgument.use_equals">true</boolProp>
              </elementProp>
            </collectionProp>
          </elementProp>
          <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
          <stringProp name="HTTPSampler.port">${PORT}</stringProp>
          <stringProp name="HTTPSampler.protocol">http</stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
          <stringProp name="HTTPSampler.method">POST</stringProp>
          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
          <boolProp name="HTTPSampler.image_parser">true</boolProp>
          <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
          <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
          <stringProp name="HTTPSampler.response_timeout"></stringProp>
        </HTTPSamplerProxy>
        <hashTree>
          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
            <collectionProp name="HeaderManager.headers">
              <elementProp name="Origin" elementType="Header">
                <stringProp name="Header.name">Origin</stringProp>
                <stringProp name="Header.value">http://localhost:8080</stringProp>
              </elementProp>
              <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                <stringProp name="Header.value">1</stringProp>
              </elementProp>
              <elementProp name="User-Agent" elementType="Header">
                <stringProp name="Header.name">User-Agent</stringProp>
                <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
              </elementProp>
              <elementProp name="Content-Type" elementType="Header">
                <stringProp name="Header.name">Content-Type</stringProp>
                <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
              </elementProp>
              <elementProp name="Accept" elementType="Header">
                <stringProp name="Header.name">Accept</stringProp>
                <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
              </elementProp>
              <elementProp name="Referer" elementType="Header">
                <stringProp name="Header.name">Referer</stringProp>
                <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
              </elementProp>
              <elementProp name="Accept-Encoding" elementType="Header">
                <stringProp name="Header.name">Accept-Encoding</stringProp>
                <stringProp name="Header.value">gzip,deflate</stringProp>
              </elementProp>
              <elementProp name="Accept-Language" elementType="Header">
                <stringProp name="Header.name">Accept-Language</stringProp>
                <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
              </elementProp>
            </collectionProp>
          </HeaderManager>
          <hashTree/>
          <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
            <stringProp name="RandomTimer.range">684.0</stringProp>
            <stringProp name="ConstantTimer.delay">1368.0</stringProp>
          </UniformRandomTimer>
          <hashTree/>
        </hashTree>
        <RandomOrderController guiclass="RandomOrderControllerGui" testclass="RandomOrderController" testname="Random Order Controller" enabled="true"/>
        <hashTree>
          <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
            <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
              <collectionProp name="Arguments.arguments"/>
            </elementProp>
            <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
            <stringProp name="HTTPSampler.port">${PORT}</stringProp>
            <stringProp name="HTTPSampler.protocol">http</stringProp>
            <stringProp name="HTTPSampler.contentEncoding"></stringProp>
            <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
            <stringProp name="HTTPSampler.method">GET</stringProp>
            <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
            <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
            <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
            <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
            <boolProp name="HTTPSampler.image_parser">true</boolProp>
            <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
            <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
            <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
            <stringProp name="HTTPSampler.connect_timeout"></stringProp>
            <stringProp name="HTTPSampler.response_timeout"></stringProp>
          </HTTPSamplerProxy>
          <hashTree>
            <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
              <collectionProp name="HeaderManager.headers">
                <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                  <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                  <stringProp name="Header.value">1</stringProp>
                </elementProp>
                <elementProp name="User-Agent" elementType="Header">
                  <stringProp name="Header.name">User-Agent</stringProp>
                  <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                </elementProp>
                <elementProp name="Accept" elementType="Header">
                  <stringProp name="Header.name">Accept</stringProp>
                  <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                </elementProp>
                <elementProp name="Referer" elementType="Header">
                  <stringProp name="Header.name">Referer</stringProp>
                  <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                </elementProp>
                <elementProp name="Accept-Encoding" elementType="Header">
                  <stringProp name="Header.name">Accept-Encoding</stringProp>
                  <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                </elementProp>
                <elementProp name="Accept-Language" elementType="Header">
                  <stringProp name="Header.name">Accept-Language</stringProp>
                  <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                </elementProp>
              </collectionProp>
            </HeaderManager>
            <hashTree/>
            <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
              <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
              <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
            </UniformRandomTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Add product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="Edit product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
            <stringProp name="ConstantTimer.delay">0</stringProp>
            <stringProp name="RandomTimer.range">100.0</stringProp>
          </UniformRandomTimer>
          <hashTree/>
        </hashTree>
        <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
          <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
            <collectionProp name="Arguments.arguments"/>
          </elementProp>
          <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
          <stringProp name="HTTPSampler.port">${PORT}</stringProp>
          <stringProp name="HTTPSampler.protocol">http</stringProp>
          <stringProp name="HTTPSampler.contentEncoding"></stringProp>
          <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
          <stringProp name="HTTPSampler.method">GET</stringProp>
          <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
          <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
          <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
          <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
          <boolProp name="HTTPSampler.image_parser">true</boolProp>
          <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
          <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
          <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
          <stringProp name="HTTPSampler.connect_timeout"></stringProp>
          <stringProp name="HTTPSampler.response_timeout"></stringProp>
        </HTTPSamplerProxy>
        <hashTree>
          <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
            <collectionProp name="HeaderManager.headers">
              <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                <stringProp name="Header.value">1</stringProp>
              </elementProp>
              <elementProp name="User-Agent" elementType="Header">
                <stringProp name="Header.name">User-Agent</stringProp>
                <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
              </elementProp>
              <elementProp name="Accept" elementType="Header">
                <stringProp name="Header.name">Accept</stringProp>
                <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
              </elementProp>
              <elementProp name="Referer" elementType="Header">
                <stringProp name="Header.name">Referer</stringProp>
                <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
              </elementProp>
              <elementProp name="Accept-Encoding" elementType="Header">
                <stringProp name="Header.name">Accept-Encoding</stringProp>
                <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
              </elementProp>
              <elementProp name="Accept-Language" elementType="Header">
                <stringProp name="Header.name">Accept-Language</stringProp>
                <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
              </elementProp>
            </collectionProp>
          </HeaderManager>
          <hashTree/>
          <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
            <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
            <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
          </UniformRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
      </hashTree>
      <ResultCollector guiclass="SummaryReport" testclass="ResultCollector" testname="Summary Report" enabled="false">
        <boolProp name="ResultCollector.error_logging">false</boolProp>
        <objProp>
          <name>saveConfig</name>
          <value class="SampleSaveConfiguration">
            <time>true</time>
            <latency>true</latency>
            <timestamp>true</timestamp>
            <success>true</success>
            <label>true</label>
            <code>true</code>
            <message>true</message>
            <threadName>true</threadName>
            <dataType>true</dataType>
            <encoding>false</encoding>
            <assertions>true</assertions>
            <subresults>true</subresults>
            <responseData>false</responseData>
            <samplerData>false</samplerData>
            <xml>false</xml>
            <fieldNames>false</fieldNames>
            <responseHeaders>false</responseHeaders>
            <requestHeaders>false</requestHeaders>
            <responseDataOnError>false</responseDataOnError>
            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
            <assertionsResultsToSave>0</assertionsResultsToSave>
            <bytes>true</bytes>
          </value>
        </objProp>
        <stringProp name="filename"></stringProp>
      </ResultCollector>
      <hashTree/>
      <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
        <boolProp name="ResultCollector.error_logging">false</boolProp>
        <objProp>
          <name>saveConfig</name>
          <value class="SampleSaveConfiguration">
            <time>true</time>
            <latency>false</latency>
            <timestamp>true</timestamp>
            <success>false</success>
            <label>true</label>
            <code>true</code>
            <message>true</message>
            <threadName>false</threadName>
            <dataType>false</dataType>
            <encoding>false</encoding>
            <assertions>false</assertions>
            <subresults>false</subresults>
            <responseData>true</responseData>
            <samplerData>false</samplerData>
            <xml>true</xml>
            <fieldNames>false</fieldNames>
            <responseHeaders>true</responseHeaders>
            <requestHeaders>true</requestHeaders>
            <responseDataOnError>false</responseDataOnError>
            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
            <assertionsResultsToSave>0</assertionsResultsToSave>
            <url>true</url>
          </value>
        </objProp>
        <stringProp name="filename"></stringProp>
      </ResultCollector>
      <hashTree/>
      <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
        <boolProp name="ResultCollector.error_logging">false</boolProp>
        <objProp>
          <name>saveConfig</name>
          <value class="SampleSaveConfiguration">
            <time>true</time>
            <latency>false</latency>
            <timestamp>true</timestamp>
            <success>false</success>
            <label>true</label>
            <code>true</code>
            <message>true</message>
            <threadName>false</threadName>
            <dataType>false</dataType>
            <encoding>false</encoding>
            <assertions>false</assertions>
            <subresults>false</subresults>
            <responseData>false</responseData>
            <samplerData>false</samplerData>
            <xml>false</xml>
            <fieldNames>false</fieldNames>
            <responseHeaders>false</responseHeaders>
            <requestHeaders>false</requestHeaders>
            <responseDataOnError>false</responseDataOnError>
            <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
            <assertionsResultsToSave>0</assertionsResultsToSave>
            <threadCounts>true</threadCounts>
          </value>
        </objProp>
        <stringProp name="filename">response-times-over-time.csv</stringProp>
        <longProp name="interval_grouping">500</longProp>
        <boolProp name="graph_aggregated">false</boolProp>
        <stringProp name="include_sample_labels"></stringProp>
        <stringProp name="exclude_sample_labels"></stringProp>
        <stringProp name="start_offset"></stringProp>
        <stringProp name="end_offset"></stringProp>
        <boolProp name="include_checkbox_state">false</boolProp>
        <boolProp name="exclude_checkbox_state">false</boolProp>
      </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
      <hashTree/>
      <AuthManager guiclass="AuthPanel" testclass="AuthManager" testname="HTTP Authorization Manager" enabled="false">
        <collectionProp name="AuthManager.auth_list"/>
      </AuthManager>
      <hashTree/>
      <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="HTTP Cookie Manager" enabled="false">
        <collectionProp name="CookieManager.cookies">
          <elementProp name="JSESSIONID" elementType="Cookie" testname="JSESSIONID">
            <stringProp name="Cookie.value">5606467C96C31E28293ABA289F19F7FF</stringProp>
            <stringProp name="Cookie.domain"></stringProp>
            <stringProp name="Cookie.path"></stringProp>
            <boolProp name="Cookie.secure">false</boolProp>
            <longProp name="Cookie.expires">0</longProp>
            <boolProp name="Cookie.path_specified">true</boolProp>
            <boolProp name="Cookie.domain_specified">true</boolProp>
          </elementProp>
        </collectionProp>
        <boolProp name="CookieManager.clearEachIteration">true</boolProp>
      </CookieManager>
      <hashTree/>
      <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
        <boolProp name="clearEachIteration">true</boolProp>
        <boolProp name="useExpires">false</boolProp>
      </CacheManager>
      <hashTree/>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="User threads random transitions" enabled="true">
        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Contr�leur Boucle" enabled="true">
          <boolProp name="LoopController.continue_forever">false</boolProp>
          <stringProp name="LoopController.loops">${NUM_LOOP_COUNT}</stringProp>
        </elementProp>
        <stringProp name="ThreadGroup.num_threads">${NUM_USERS_SIMULATED}</stringProp>
        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
        <longProp name="ThreadGroup.start_time">1361531541000</longProp>
        <longProp name="ThreadGroup.end_time">1361531541000</longProp>
        <boolProp name="ThreadGroup.scheduler">false</boolProp>
        <stringProp name="ThreadGroup.duration"></stringProp>
        <stringProp name="ThreadGroup.delay"></stringProp>
        <stringProp name="TestPlan.comments">Original : 500 - 10 - 10</stringProp>
      </ThreadGroup>
      <hashTree>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] random switch" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = vars.getObject(&quot;RANDOM&quot;);
if(rand == null)
{
	rand = new Random();
	vars.putObject(&quot;RANDOM&quot;, rand);
}

int[] browsingMix = {
	2900, //home
	2100, // product-detail
	2100, // category
	200, //add item
	75, //checkout
	69, // commit-order
	82, //customer-registration
	125, // shopping-cart
	2100, // search-result
	1100, // login
	200, // logout
	10, // admin add
	5, //admin edit
	//1200, // search-request
};

int probSum = 0;

for( int i=0; i &lt; browsingMix.length; i++)
{
  probSum += browsingMix[i];
}

int[] range = new int[2 * browsingMix.length];

for( int i=0; i &lt; browsingMix.length; i++)
{
  int sum = 0;
  for( int j=0; j&lt;i; j++)
   {
       sum += browsingMix[j];
   }

  range[i] = sum;
  range[i+1] = range[i] + browsingMix[i];
}


int randNum = rand.nextInt(probSum);

for(int i=0; i &lt; browsingMix.length; i++)
{
  if( randNum &gt;= range[i] &amp;&amp; randNum &lt; range[i+1] )
  {
      vars.put(&quot;SWITCH_ID&quot;, String.valueOf(i));
      return;
  }	
}</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Tresholds" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">int ADMIN_CONFIRM = 0;
int ADMIN_REQUEST = 1;
int BEST_SELLERS = 2;
int BUY_CONFIRM = 3;
int BUY_REQUEST = 4;
int CUSTOMER_REGISTRATION = 5;
int HOME = 6;
int NEW_PRODUCTS = 7;
int ORDER_DISPLAY = 8;
int ORDER_INQUIRY = 9;
int PRODUCT_DETAIL = 10;
int SEARCH_REQUEST = 11;
int SEARCH_RESULTS = 12;
int SHOPPING_CART = 13;

/*
 * See http://www.tpc.org/tpcw/spec/tpcw_v16.pdf page 94
 */
int[][] tresholdsMatrix = {
	{0, 0, 0, 0, 0, 0, 9952, 0, 0, 0, 0, 9999, 0, 0},
	{8999, 0, 0, 0, 0, 0, 9999, 0, 0, 0, 0, 0, 0, 0},
	{0,0,0,0,0, 0, 167, 0,0,0, 472, 9927,0,9999},
	{0,0,0,0,0, 0, 84, 0,0,0,0,9999,0,0},
	{0,0,0,4614,0, 0, 6546, 0,0,0,0,0,0,9999},
	{0,0,0,0,8666, 0, 8760, 0,0,0,0,9999,0,0},
	{0,0,3124,0,0, 0, 0, 6249,0, 6718,0,7026,0,9999},
	{0,0,0,0,0, 0, 156, 0,0,0,9735,9784,0,9999},
	{0,0,0,0,0, 0, 69, 0,0,0,0,9999,0,0},
	{0,0,0,0,0, 0, 72, 0,8872,0,0,9999,0,0},
	{0,58,0,0,0, 0, 832, 0,0,0,1288,8603,0,9999},
	{0,0,0,0,0, 0, 635, 0,0,0,0,0,9135,9999},
	{0,0,0,0,0, 0, 2657, 0,0,0,9294,9304,0,9999},
	{0,0,0,0,0, 2585, 9552, 0,0,0,0,0,0,9999},
};

int nextOperation(int currentOperation)
{
	int newOperation = -1;
	
	Random rand = new Random();
	int r = 1 + rand.nextInt(9999);
	
	for( int i = 0; i &lt; tresholdsMatrix[currentOperation].length; i++)
	{
		int t = tresholdsMatrix[currentOperation][i];
		if( r &lt;= t)
			return i;
	}
	
	return newOperation;
}

previousOperation = vars.get(&quot;OPERATION&quot;);
newOp = nextOperation(Integer.parseInt(previousOperation));
vars.put(&quot;OPERATION&quot;, String.valueOf(newOp));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] ITEM_ID" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;
import java.util.ArrayList;

prevTreshold = vars.get(&quot;TRESHOLD&quot;);
prevSwitchId = vars.get(&quot;SWITCH_ID&quot;);
numItems = Integer.parseInt(vars.get(&quot;NUM_ITEMS&quot;));

Random rand = new Random();
item = 1 + rand.nextInt(numItems);
vars.put(&quot;ITEM_ID&quot;, Integer.toString(item));

treshold = 1+rand.nextInt(numItems);
vars.put(&quot;TRESHOLD&quot;, Integer.toString(treshold));

//System.out.println(&quot;Treshold1 = &quot; + treshold);
//System.out.println(&quot;ITEM_ID1 = &quot; + item);
</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] probability3" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import org.apache.commons.math3.distribution.EnumeratedDistribution;
import org.apache.commons.math3.util.Pair;
import java.util.ArrayList;

class Item
{
	String operation;
	double probability;
	int jmeterIndex;
	
	public Item(String operation, double probability, int jmeterIndex)
	{
		this.operation = operation;
		this.probability = probability;
		this.jmeterIndex = jmeterIndex;
	}
}

ArrayList items = new ArrayList(){{
	add(new Item(&quot;Home&quot;, 29, 7)); 
	add(new Item(&quot;New products&quot;, 11, 8)); 
	add(new Item(&quot;Best Sellers&quot;, 11, 3));
	add(new Item(&quot;Product Detail&quot;, 21, 11)); 
	add(new Item(&quot;Search Request&quot;, 12, 12));
	add(new Item(&quot;Search Results&quot;, 11, 13)); 
	add(new Item(&quot;Shopping Cart&quot;, 1.25, 14));
	add(new Item(&quot;Customer Registration&quot;, 0.82, 6));
	add(new Item(&quot;Buy Request&quot;, 0.75, 5));
	add(new Item(&quot;Buy Confirm&quot;, 0.69, 4));
	add(new Item(&quot;Order Inquiry&quot;, 0.30, 10));
	add(new Item(&quot;Order Display&quot;, 0.25, 9));
	add(new Item(&quot;Admin Request&quot;, 0.10, 2));
	add(new Item(&quot;Admin Confirm&quot;, 0.09, 1));
}};

ArrayList itemWeights = new ArrayList();
for(Item i : items)
{
	itemWeights.add(new Pair(i, i.probability));
}

newOperation = new EnumeratedDistribution(itemWeights).sample();

vars.put(&quot;SWITCH_ID&quot;, String.valueOf(newOperation.jmeterIndex));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random subject" enabled="true">
          <stringProp name="filename"></stringProp>
          <stringProp name="parameters"></stringProp>
          <boolProp name="resetInterpreter">true</boolProp>
          <stringProp name="script">import java.util.*;

String[] subjects = {&quot;computer-books&quot;,&quot;technology&quot;,&quot;the-web&quot;,&quot;fiction&quot;,&quot;business&quot;,&quot;cloud-computing&quot;,&quot;novels&quot;};

//String[] subjects = {&quot;ARTS&quot;,&quot;BIOGRAPHIES&quot;,&quot;BUSINESS&quot;,&quot;CHILDREN&quot;,&quot;COMPUTERS&quot;,&quot;COOKING&quot;,&quot;HEALTH&quot;,&quot;HISTORY&quot;,&quot;HOME&quot;,&quot;HUMOR&quot;,&quot;LITERATURE&quot;,&quot;MYSTERY&quot;,&quot;NON-FICTION&quot;,&quot;PARENTING&quot;,&quot;POLITICS&quot;,&quot;REFERENCE&quot;,&quot;RELIGION&quot;,&quot;ROMANCE&quot;,&quot;SELF-HELP&quot;,&quot;SCIENCE-NATURE&quot;,&quot;SCIENCE-FICTION&quot;,&quot;SPORTS&quot;,&quot;YOUTH&quot;,&quot;TRAVEL&quot;};
    

min = 0;
max = subjects.length-1;

Random rand = new Random();
subject = subjects[rand.nextInt((max - min) + 1) + min];

vars.put(&quot;RAND_SUBJECT&quot;, subject);
vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);</stringProp>
          <stringProp name="TestPlan.comments">Random subject</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random new_price" enabled="false">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 300;
min = 10;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;NEW_PRICE&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random quantity" enabled="true">
          <boolProp name="resetInterpreter">false</boolProp>
          <stringProp name="parameters"></stringProp>
          <stringProp name="filename"></stringProp>
          <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 4;
min = 1;
price = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;QUANTITY&quot;, Integer.toString(price));</stringProp>
        </BeanShellPreProcessor>
        <hashTree/>
        <OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="Once Only Controller" enabled="true"/>
        <hashTree>
          <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
            <boolProp name="displayJMeterProperties">false</boolProp>
            <boolProp name="displayJMeterVariables">true</boolProp>
            <boolProp name="displaySystemProperties">false</boolProp>
          </DebugSampler>
          <hashTree/>
        </hashTree>
        <SwitchController guiclass="SwitchControllerGui" testclass="SwitchController" testname="Switch Controller" enabled="true">
          <stringProp name="SwitchController.value">${SWITCH_ID}</stringProp>
        </SwitchController>
        <hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/home" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/product" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/product" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/product/Description${ITEM_ID}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">details of a product</stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/category" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/category" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/category/${RAND_SUBJECT}.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/addShoppingCartItem" enabled="true"/>
          <hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add with code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID}}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="add without code if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/addShoppingCartItem" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">{&quot;quantity&quot;:${QUANTITY},&quot;productId&quot;:${ITEM_ID},&quot;code&quot;:&quot;${CART_CODE}&quot;}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/addShoppingCartItem.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                    </elementProp>
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="X-Requested-With" elementType="Header">
                      <stringProp name="Header.name">X-Requested-With</stringProp>
                      <stringProp name="Header.value">XMLHttpRequest</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">application/json;charset=UTF-8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                  <stringProp name="VAR">CART_CODE</stringProp>
                  <stringProp name="JSONPATH">$.code</stringProp>
                  <stringProp name="DEFAULT">none</stringProp>
                  <stringProp name="VARIABLE"></stringProp>
                  <stringProp name="SUBJECT">BODY</stringProp>
                </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/checkout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="shoppingCartCode" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/displayMiniCartByCode.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor guiclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.gui.JSONPathExtractorGui" testclass="com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor" testname="jp@gc - JSON Path Extractor" enabled="true">
                <stringProp name="VAR">CART_CODE</stringProp>
                <stringProp name="JSONPATH">$.code</stringProp>
                <stringProp name="DEFAULT">none</stringProp>
                <stringProp name="VARIABLE"></stringProp>
                <stringProp name="SUBJECT">BODY</stringProp>
              </com.atlantbh.jmeter.plugins.jsonutils.jsonpathextractor.JSONPathExtractor>
              <hashTree/>
            </hashTree>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/checkout" 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">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol"></stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/checkout.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                </CookieManager>
                <hashTree/>
              </hashTree>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/commitOrder" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CART_CODE}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random buy" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.Random;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;_shipToBillingAdress&quot;,&quot;on&quot;);
vars.put(&quot;customer.billing.address&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.city&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.company&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.billing.firstName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.lastName&quot;,&quot;customer&quot; + id);
vars.put(&quot;customer.billing.phone&quot;,&quot;(123)123-1231&quot;);
vars.put(&quot;customer.billing.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.billing.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.billing.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.delivery.address&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.city&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.company&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.country&quot;,&quot;CA&quot;);
vars.put(&quot;customer.delivery.firstName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.lastName&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.postalCode&quot;,&quot;H2H2H2&quot;);
vars.put(&quot;customer.delivery.stateProvince&quot;,&quot;&quot;);
vars.put(&quot;customer.delivery.zone&quot;,&quot;QC&quot;);
vars.put(&quot;customer.emailAddress&quot;,&quot;asdhjk2a@asdlkjaskl.com&quot;);
vars.put(&quot;paymentMethodType&quot;,&quot;MONEYORDER&quot;);
vars.put(&quot;paymentModule&quot;,&quot;moneyorder&quot;);
vars.put(&quot;shipToBillingAdress&quot;,&quot;true&quot;);</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/commitOrder" enabled="true">
                <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">false</boolProp>
                      <stringProp name="Argument.value">------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.firstName&quot;&#xd;
&#xd;
${customer.billing.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.lastName&quot;&#xd;
&#xd;
${customer.billing.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.emailAddress&quot;&#xd;
&#xd;
${customer.emailAddress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.company&quot;&#xd;
&#xd;
${customer.billing.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.address&quot;&#xd;
&#xd;
${customer.billing.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.city&quot;&#xd;
&#xd;
${customer.billing.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.postalCode&quot;&#xd;
&#xd;
${customer.billing.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.zone&quot;&#xd;
&#xd;
${customer.billing.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.stateProvince&quot;&#xd;
&#xd;
${customer.billing.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.country&quot;&#xd;
&#xd;
${customer.billing.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.billing.phone&quot;&#xd;
&#xd;
${customer.billing.phone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;shipToBillingAdress&quot;&#xd;
&#xd;
${shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;_shipToBillingAdress&quot;&#xd;
&#xd;
${_shipToBillingAdress}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.firstName&quot;&#xd;
&#xd;
${customer.delivery.firstName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.lastName&quot;&#xd;
&#xd;
${customer.delivery.lastName}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.company&quot;&#xd;
&#xd;
${customer.delivery.company}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.address&quot;&#xd;
&#xd;
${customer.delivery.address}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.city&quot;&#xd;
&#xd;
${customer.delivery.city}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.postalCode&quot;&#xd;
&#xd;
${customer.delivery.postalCode}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.zone&quot;&#xd;
&#xd;
${customer.delivery.zone}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.stateProvince&quot;&#xd;
&#xd;
${customer.delivery.stateProvince}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;customer.delivery.country&quot;&#xd;
&#xd;
${customer.delivery.country}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentMethodType&quot;&#xd;
&#xd;
${paymentMethodType}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5&#xd;
Content-Disposition: form-data; name=&quot;paymentModule&quot;&#xd;
&#xd;
${paymentModule}&#xd;
------WebKitFormBoundaryGKZQ8DtOL1ABbUy5--</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/commitOrder.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Origin" elementType="Header">
                      <stringProp name="Header.name">Origin</stringProp>
                      <stringProp name="Header.value">http://localhost:8080</stringProp>
                    </elementProp>
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Content-Type" elementType="Header">
                      <stringProp name="Header.name">Content-Type</stringProp>
                      <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryutul361rMswzcxJf</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CART_CODE Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="cart" elementType="Cookie" testname="cart">
                      <stringProp name="Cookie.value">DEFAULT_${CART_CODE}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CART_CODE&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/confirmation" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/order/confirmation.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/order" enabled="false"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/orders" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/orders.html</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">false</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/dashboard.html</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                  <collectionProp name="CookieManager.cookies">
                    <elementProp name="user" elementType="Cookie" testname="user">
                      <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Cookie.domain">${HOST}</stringProp>
                      <stringProp name="Cookie.path"></stringProp>
                      <boolProp name="Cookie.secure">false</boolProp>
                      <longProp name="Cookie.expires">0</longProp>
                      <boolProp name="Cookie.path_specified">true</boolProp>
                      <boolProp name="Cookie.domain_specified">true</boolProp>
                    </elementProp>
                  </collectionProp>
                  <boolProp name="CookieManager.clearEachIteration">false</boolProp>
                </CookieManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ORDER_ID" enabled="false">
                  <stringProp name="filename"></stringProp>
                  <stringProp name="parameters"></stringProp>
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

vars.put(&quot;ORDER_ID&quot;,&quot;none&quot;);
String patternString = &quot;orderId=([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

//print(ids);

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ORDER_ID&quot;,  itemId);
}</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
                <RegexExtractor guiclass="RegexExtractorGui" testclass="RegexExtractor" testname="Regular Expression Extractor" enabled="true">
                  <stringProp name="RegexExtractor.useHeaders">false</stringProp>
                  <stringProp name="RegexExtractor.refname">ORDER_ID</stringProp>
                  <stringProp name="RegexExtractor.regex">orderId=([0-9]+)</stringProp>
                  <stringProp name="RegexExtractor.template">$1$</stringProp>
                  <stringProp name="RegexExtractor.default">none</stringProp>
                  <stringProp name="RegexExtractor.match_number">1</stringProp>
                </RegexExtractor>
                <hashTree/>
              </hashTree>
              <IfController guiclass="IfControllerPanel" testclass="IfController" testname="If Controller" enabled="true">
                <stringProp name="IfController.condition">&quot;${ORDER_ID}&quot; != &quot;none&quot;</stringProp>
                <boolProp name="IfController.evaluateAll">false</boolProp>
              </IfController>
              <hashTree>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/order" enabled="true">
                  <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                    <collectionProp name="Arguments.arguments"/>
                  </elementProp>
                  <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                  <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                  <stringProp name="HTTPSampler.protocol">http</stringProp>
                  <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                  <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/order.html?orderId=${ORDER_ID}</stringProp>
                  <stringProp name="HTTPSampler.method">GET</stringProp>
                  <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                  <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                  <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                  <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                  <boolProp name="HTTPSampler.image_parser">true</boolProp>
                  <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                  <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                  <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                  <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                  <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree>
                  <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                      <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                        <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                        <stringProp name="Header.value">1</stringProp>
                      </elementProp>
                      <elementProp name="User-Agent" elementType="Header">
                        <stringProp name="Header.name">User-Agent</stringProp>
                        <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                      </elementProp>
                      <elementProp name="Accept" elementType="Header">
                        <stringProp name="Header.name">Accept</stringProp>
                        <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                      </elementProp>
                      <elementProp name="Referer" elementType="Header">
                        <stringProp name="Header.name">Referer</stringProp>
                        <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/customer/orders.html</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Encoding" elementType="Header">
                        <stringProp name="Header.name">Accept-Encoding</stringProp>
                        <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                      </elementProp>
                      <elementProp name="Accept-Language" elementType="Header">
                        <stringProp name="Header.name">Accept-Language</stringProp>
                        <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                      </elementProp>
                    </collectionProp>
                  </HeaderManager>
                  <hashTree/>
                  <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="CUSTOMER_NAME Cookie" enabled="true">
                    <collectionProp name="CookieManager.cookies">
                      <elementProp name="user" elementType="Cookie" testname="user">
                        <stringProp name="Cookie.value">DEFAULT_${CUSTOMER_NAME}</stringProp>
                        <stringProp name="Cookie.domain">${HOST}</stringProp>
                        <stringProp name="Cookie.path"></stringProp>
                        <boolProp name="Cookie.secure">false</boolProp>
                        <longProp name="Cookie.expires">0</longProp>
                        <boolProp name="Cookie.path_specified">true</boolProp>
                        <boolProp name="Cookie.domain_specified">true</boolProp>
                      </elementProp>
                    </collectionProp>
                    <boolProp name="CookieManager.clearEachIteration">true</boolProp>
                  </CookieManager>
                  <hashTree/>
                </hashTree>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/customer-registration" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="register if" enabled="false">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] Random customer" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">true</boolProp>
                <stringProp name="script">import java.util.*;

min = 2000;
max = 1000000;

Random rand = new Random();
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;billing.country&quot;, &quot;CA&quot;);
vars.put(&quot;billing.firstName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.lastName&quot;, &quot;customer&quot; + id);
vars.put(&quot;billing.stateProvince&quot;, &quot;&quot;);
vars.put(&quot;billing.zone&quot;, &quot;QC&quot;);
vars.put(&quot;checkPassword&quot;, &quot;customer&quot; + id);
vars.put(&quot;emailAddress&quot;, &quot;customer&quot; + id + &quot;@shopizer.com&quot;);
vars.put(&quot;gender&quot;, &quot;M&quot;);
vars.put(&quot;password&quot;, &quot;customer&quot; + id);
vars.put(&quot;recaptcha_challenge_field&quot;, &quot;03AHJ_Vuu60YpLxvrEZXbeT9av_dgxQE2j0ePMCYmY4TSklsHNQ0ZI6JoEUc4lh-BUQ3lMhH1-tzu1norevG6CJtx9gqKl_t4rkSbOBM7ps6IYXog-0v52_IaVbac00y9Gt2mWdAimF9TWPab7RiSaI3xldM0AjdZnJCw3574q7KxwebHiaMDWALh1yl6D9hOBx0M3ZAfe384PrNQplEd9F8iCQkEoWkLB3Q&quot;);
vars.put(&quot;recaptcha_response_field&quot;, &quot;customer&quot; + id);
vars.put(&quot;register&quot;, &quot;Register&quot;);
vars.put(&quot;userName&quot;, &quot;customer&quot; + id);

vars.put(&quot;NEW_CUSTOMER_ID&quot;, Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + Integer.toString(id));
vars.put(&quot;NEW_CUSTOMER_NAME&quot;, &quot;customer&quot; + id);

</stringProp>
                <stringProp name="TestPlan.comments">Random subject</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="customer/register" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="billing.country" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.country</stringProp>
                      <stringProp name="Argument.value">${billing.country}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.firstName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.firstName</stringProp>
                      <stringProp name="Argument.value">${billing.firstName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.lastName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.lastName</stringProp>
                      <stringProp name="Argument.value">${billing.lastName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.stateProvince" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.stateProvince</stringProp>
                      <stringProp name="Argument.value">${billing.stateProvince}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="billing.zone" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">billing.zone</stringProp>
                      <stringProp name="Argument.value">${billing.zone}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="checkPassword" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">checkPassword</stringProp>
                      <stringProp name="Argument.value">${checkPassword}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="emailAddress" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">emailAddress</stringProp>
                      <stringProp name="Argument.value">${emailAddress}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="gender" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">gender</stringProp>
                      <stringProp name="Argument.value">${gender}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${password}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_challenge_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_challenge_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_challenge_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="recaptcha_response_field" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">recaptcha_response_field</stringProp>
                      <stringProp name="Argument.value">${recaptcha_response_field}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="register" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">register</stringProp>
                      <stringProp name="Argument.value">${register}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${userName}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/register.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_ID&quot;, vars.get(&quot;NEW_CUSTOMER_ID&quot;));
vars.put(&quot;CUSTOMER_NAME&quot;, vars.get(&quot;NEW_CUSTOMER_NAME&quot;));</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/shoppingCart" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/zoneName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/zoneName?zoneCode=${billing.zone}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">221.20000000000002</stringProp>
                <stringProp name="ConstantTimer.delay">442.40000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/countryName" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/countryName?countryCode=${billing.country}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">4.0</stringProp>
                <stringProp name="ConstantTimer.delay">8.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/reference/provinces.html" enabled="false">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="countryCode" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">countryCode</stringProp>
                    <stringProp name="Argument.value">${billing.country}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="lang" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">lang</stringProp>
                    <stringProp name="Argument.value">en</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">localhost</stringProp>
              <stringProp name="HTTPSampler.port">8080</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/reference/provinces.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">application/json,text/javascript,*/*;q=0.01</stringProp>
                  </elementProp>
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="X-DevTools-Emulate-Network-Conditions-Client-Id" elementType="Header">
                    <stringProp name="Header.name">X-DevTools-Emulate-Network-Conditions-Client-Id</stringProp>
                    <stringProp name="Header.value">8e7b8b72-d91a-4915-ad26-63fba3dad4d9</stringProp>
                  </elementProp>
                  <elementProp name="X-Requested-With" elementType="Header">
                    <stringProp name="Header.name">X-Requested-With</stringProp>
                    <stringProp name="Header.value">XMLHttpRequest</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/order/checkout.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">15.600000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">31.200000000000003</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/shoppingCart" 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">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol"></stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/cart/shoppingCart.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree/>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/search" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/search" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="q" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">q</stringProp>
                    <stringProp name="Argument.value">asdas</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE}/search/search.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/cart/shoppingCart.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,br</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] get ITEM_ID" enabled="true">
                <stringProp name="filename"></stringProp>
                <stringProp name="parameters"></stringProp>
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="script">import java.util.regex;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.Random;
import java.util.ArrayList;

String testString = prev.getResponseDataAsString();

String patternString = &quot;product/Description([0-9]+)&quot;;
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(testString);

ArrayList ids = new ArrayList();

while(matcher.find())
{
	ids.add(matcher.group(1));
}

Random rand = new Random();

if( ids.size() &gt; 0 )
{
	String itemId = String.valueOf(ids.get(rand.nextInt( ids.size() ) ) );
	vars.put(&quot;ITEM_ID&quot;,  itemId);
}</stringProp>
              </BeanShellPostProcessor>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/login" enabled="true"/>
          <hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">import org.apache.jmeter.protocol.http.control.CookieManager;
import org.apache.jmeter.protocol.http.control.Cookie;

CookieManager manager = sampler.getCookieManager();
for (int i=0;i&lt;manager.getCookieCount();i++){
    Cookie cookie = manager.get(i);
    //remove a cookie 
    if (cookie.getName().equals(&quot;cart&quot;)){
        sampler.getCookieManager().remove(i);
    }
}</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/login if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; == &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should not be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/login" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments">
                    <elementProp name="password" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">password</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="storeCode" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">storeCode</stringProp>
                      <stringProp name="Argument.value">DEFAULT</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                    <elementProp name="userName" elementType="HTTPArgument">
                      <boolProp name="HTTPArgument.always_encode">true</boolProp>
                      <stringProp name="Argument.name">userName</stringProp>
                      <stringProp name="Argument.value">${CUSTOMER_NAME}</stringProp>
                      <stringProp name="Argument.metadata">=</stringProp>
                      <boolProp name="HTTPArgument.use_equals">true</boolProp>
                    </elementProp>
                  </collectionProp>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/logon.html</stringProp>
                <stringProp name="HTTPSampler.method">POST</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
int id = rand.nextInt((max - min) + 1) + min;

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + Integer.toString(id));
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
                </BeanShellPreProcessor>
                <hashTree/>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="[BeanShell PostProcessor] NEW CUSTOMER_NAME" enabled="false">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">import java.util.Random;

Random rand = new Random();
max = 400;
min = 1;
price = Integer.toString(rand.nextInt((max - min) + 1) + min);

vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot; + price);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="[BeanShell PreProcessor] CUSTOMER_NAME" enabled="false">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">
vars.put(&quot;CUSTOMER_NAME&quot;,&quot;customer&quot;);
//vars.put(&quot;CUSTOMER_LALALALA&quot;,&quot;123&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="false">
                <boolProp name="displayJMeterProperties">false</boolProp>
                <boolProp name="displayJMeterVariables">true</boolProp>
                <boolProp name="displaySystemProperties">false</boolProp>
              </DebugSampler>
              <hashTree/>
            </hashTree>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/logout" enabled="true"/>
          <hashTree>
            <DebugSampler guiclass="TestBeanGUI" testclass="DebugSampler" testname="Debug Sampler" enabled="true">
              <boolProp name="displayJMeterProperties">false</boolProp>
              <boolProp name="displayJMeterVariables">true</boolProp>
              <boolProp name="displaySystemProperties">false</boolProp>
            </DebugSampler>
            <hashTree/>
            <IfController guiclass="IfControllerPanel" testclass="IfController" testname="/logout if" enabled="true">
              <stringProp name="IfController.condition">&quot;${CUSTOMER_NAME}&quot; != &quot;none&quot;</stringProp>
              <boolProp name="IfController.evaluateAll">false</boolProp>
              <stringProp name="TestPlan.comments">Should be logged</stringProp>
            </IfController>
            <hashTree>
              <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="/j_spring_security_logout" enabled="true">
                <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                  <collectionProp name="Arguments.arguments"/>
                </elementProp>
                <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
                <stringProp name="HTTPSampler.port">${PORT}</stringProp>
                <stringProp name="HTTPSampler.protocol">http</stringProp>
                <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                <stringProp name="HTTPSampler.path">${SHOWCASE}/customer/j_spring_security_logout</stringProp>
                <stringProp name="HTTPSampler.method">GET</stringProp>
                <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                <boolProp name="HTTPSampler.image_parser">true</boolProp>
                <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
                <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
                <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                <stringProp name="HTTPSampler.response_timeout"></stringProp>
              </HTTPSamplerProxy>
              <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                  <collectionProp name="HeaderManager.headers">
                    <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                      <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                      <stringProp name="Header.value">1</stringProp>
                    </elementProp>
                    <elementProp name="User-Agent" elementType="Header">
                      <stringProp name="Header.name">User-Agent</stringProp>
                      <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/54.0.2840.59Safari/537.36</stringProp>
                    </elementProp>
                    <elementProp name="Accept" elementType="Header">
                      <stringProp name="Header.name">Accept</stringProp>
                      <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                    </elementProp>
                    <elementProp name="Referer" elementType="Header">
                      <stringProp name="Header.name">Referer</stringProp>
                      <stringProp name="Header.value">http://localhost:8080/sm-shop/shop/</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Encoding" elementType="Header">
                      <stringProp name="Header.name">Accept-Encoding</stringProp>
                      <stringProp name="Header.value">gzip,deflate,sdch,br</stringProp>
                    </elementProp>
                    <elementProp name="Accept-Language" elementType="Header">
                      <stringProp name="Header.name">Accept-Language</stringProp>
                      <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                    </elementProp>
                  </collectionProp>
                </HeaderManager>
                <hashTree/>
                <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="true">
                  <boolProp name="resetInterpreter">false</boolProp>
                  <stringProp name="parameters"></stringProp>
                  <stringProp name="filename"></stringProp>
                  <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;,&quot;none&quot;);</stringProp>
                </BeanShellPostProcessor>
                <hashTree/>
              </hashTree>
              <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
                <stringProp name="ConstantTimer.delay">7000</stringProp>
              </ConstantTimer>
              <hashTree/>
            </hashTree>
            <BeanShellPostProcessor guiclass="TestBeanGUI" testclass="BeanShellPostProcessor" testname="BeanShell PostProcessor" enabled="false">
              <boolProp name="resetInterpreter">false</boolProp>
              <stringProp name="parameters"></stringProp>
              <stringProp name="filename"></stringProp>
              <stringProp name="script">vars.put(&quot;CUSTOMER_NAME&quot;, null);</stringProp>
            </BeanShellPostProcessor>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/add" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="orders/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/orders/paging.html?_endRow=10</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1208.4</stringProp>
                <stringProp name="ConstantTimer.delay">2416.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/products" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/products.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/home.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">397.6</stringProp>
                <stringProp name="ConstantTimer.delay">795.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/createProduct" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/createProduct.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/products.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">703.2</stringProp>
                <stringProp name="ConstantTimer.delay">1406.4</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/save" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.available</stringProp>
                    <stringProp name="Argument.value">${_product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${_product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.id</stringProp>
                    <stringProp name="Argument.value">${availability.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantity" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantity</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantity}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMax" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMax</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMax}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.productQuantityOrderMin" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.productQuantityOrderMin</stringProp>
                    <stringProp name="Argument.value">${availability.productQuantityOrderMin}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="availability.region" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">availability.region</stringProp>
                    <stringProp name="Argument.value">${availability.region}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="dateAvailable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">dateAvailable</stringProp>
                    <stringProp name="Argument.value">${dateAvailable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].description" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].description</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].description}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.code" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.code</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.code}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].language.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].language.id</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].language.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagDescription" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagDescription</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagDescription}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagKeywords" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagKeywords</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagKeywords}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].metatagTitle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].metatagTitle</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].metatagTitle}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].name" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].name</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].name}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productExternalDl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productExternalDl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productExternalDl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].productHighlight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].productHighlight</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].productHighlight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="descriptions[0].seUrl" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">descriptions[0].seUrl</stringProp>
                    <stringProp name="Argument.value">${descriptions[0].seUrl}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="image" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">image</stringProp>
                    <stringProp name="Argument.value">${image}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="price.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">price.id</stringProp>
                    <stringProp name="Argument.value">${price.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.available" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.available</stringProp>
                    <stringProp name="Argument.value">${product.available}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.id</stringProp>
                    <stringProp name="Argument.value">${product.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.manufacturer.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.manufacturer.id</stringProp>
                    <stringProp name="Argument.value">${product.manufacturer.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productHeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productHeight</stringProp>
                    <stringProp name="Argument.value">${product.productHeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productLength" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productLength</stringProp>
                    <stringProp name="Argument.value">${product.productLength}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productShipeable" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productShipeable</stringProp>
                    <stringProp name="Argument.value">${product.productShipeable}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productVirtual" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productVirtual</stringProp>
                    <stringProp name="Argument.value">${product.productVirtual}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWeight" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWeight</stringProp>
                    <stringProp name="Argument.value">${product.productWeight}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.productWidth" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.productWidth</stringProp>
                    <stringProp name="Argument.value">${product.productWidth}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sku" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sku</stringProp>
                    <stringProp name="Argument.value">${product.sku}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.sortOrder" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.sortOrder</stringProp>
                    <stringProp name="Argument.value">${product.sortOrder}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.taxClass.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.taxClass.id</stringProp>
                    <stringProp name="Argument.value">${product.taxClass.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="product.type.id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">product.type.id</stringProp>
                    <stringProp name="Argument.value">${product.type.id}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productImage.productImage" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productImage.productImage</stringProp>
                    <stringProp name="Argument.value">${productImage.productImage}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productPrice" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productPrice</stringProp>
                    <stringProp name="Argument.value">${productPrice}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/save.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.implementation">HttpClient4</stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
              <stringProp name="TestPlan.comments">random data is generated on server, these params are useless but required</stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((1000000 - 2000) + 1) + 2000;
int da = rand.nextInt((28 - 1) + 1) + 1;
int man = rand.nextInt((200 - 1) + 1) + 1;

vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;product.id&quot;,&quot;&quot;);
vars.put(&quot;_product.available&quot;,&quot;on&quot;);
vars.put(&quot;availability.productQuantity&quot;,Integer.toString(da));
vars.put(&quot;availability.productQuantityOrderMin&quot;,&quot;0&quot;);
vars.put(&quot;availability.productQuantityOrderMax&quot;,&quot;0&quot;);
vars.put(&quot;availability.region&quot;,&quot;*&quot;);
vars.put(&quot;dateAvailable&quot;,&quot;2016-10-&quot; + da);
vars.put(&quot;product.productShipeable&quot;,&quot;true&quot;);
vars.put(&quot;_product.productShipeable&quot;,&quot;on&quot;);
vars.put(&quot;availability.id&quot;,&quot;&quot;);
vars.put(&quot;price.id&quot;,&quot;&quot;);
vars.put(&quot;product.productVirtual&quot;,&quot;false&quot;);
vars.put(&quot;product.productWeight&quot;,&quot;&quot;);
vars.put(&quot;product.productHeight&quot;,&quot;&quot;);
vars.put(&quot;product.productWidth&quot;,&quot;&quot;);
vars.put(&quot;product.productLength&quot;,&quot;&quot;);
vars.put(&quot;product.sortOrder&quot;,&quot;0&quot;);
vars.put(&quot;image&quot;,&quot;&quot;);
vars.put(&quot;productImage.productImage&quot;,&quot;&quot;);
vars.put(&quot;product.taxClass.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].description&quot;,&quot;&lt;p&gt;random&quot; + id + &quot;&lt;/p&gt;&quot;);
vars.put(&quot;descriptions[0].id&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].language.code&quot;,&quot;en&quot;);
vars.put(&quot;descriptions[0].language.id&quot;,&quot;1&quot;);
vars.put(&quot;descriptions[0].metatagDescription&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].metatagKeywords&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].metatagTitle&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].name&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].productExternalDl&quot;,&quot;&quot;);
vars.put(&quot;descriptions[0].productHighlight&quot;,&quot;product&quot; + id);
vars.put(&quot;descriptions[0].seUrl&quot;,&quot;product&quot; + id);
vars.put(&quot;product.available&quot;,&quot;true&quot;);
vars.put(&quot;product.manufacturer.id&quot;,&quot;1&quot;);
vars.put(&quot;product.sku&quot;,&quot;product&quot; + id);
vars.put(&quot;product.type.id&quot;,&quot;1&quot;);
vars.put(&quot;productPrice&quot;,&quot;50.00&quot;);</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundaryhIJnvIaHZzAtMcMU</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/createProduct.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">298.0</stringProp>
                <stringProp name="ConstantTimer.delay">596.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <GenericController guiclass="LogicControllerGui" testclass="GenericController" testname="/admin/edit" enabled="true"/>
          <hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_check" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="j_password" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_password</stringProp>
                    <stringProp name="Argument.value">password</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="j_username" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">j_username</stringProp>
                    <stringProp name="Argument.value">admin</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_check</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">684.0</stringProp>
                <stringProp name="ConstantTimer.delay">1368.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/home" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/home.html</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/logon.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">401.20000000000005</stringProp>
                <stringProp name="ConstantTimer.delay">802.4000000000001</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="displayProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/displayProductToCategories.html?id=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="BeanShell PreProcessor" enabled="true">
                <boolProp name="resetInterpreter">false</boolProp>
                <stringProp name="parameters"></stringProp>
                <stringProp name="filename"></stringProp>
                <stringProp name="script">import java.util.Random;

Random rand = new Random();
int id = rand.nextInt((2000) + 1);

vars.put(&quot;PRODUCT_ID&quot;,Integer.toString(id));</stringProp>
              </BeanShellPreProcessor>
              <hashTree/>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/save.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">428.0</stringProp>
                <stringProp name="ConstantTimer.delay">856.0</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="product-categories/paging" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="_componentId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_componentId</stringProp>
                    <stringProp name="Argument.value">entityList</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_dataSource" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_dataSource</stringProp>
                    <stringProp name="Argument.value">dataSource</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_endRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_endRow</stringProp>
                    <stringProp name="Argument.value">75</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_operationType" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_operationType</stringProp>
                    <stringProp name="Argument.value">fetch</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_startRow" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_startRow</stringProp>
                    <stringProp name="Argument.value">0</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="_textMatchStyle" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">_textMatchStyle</stringProp>
                    <stringProp name="Argument.value">substring</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_dataFormat" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_dataFormat</stringProp>
                    <stringProp name="Argument.value">json</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="isc_metaDataPrefix" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">isc_metaDataPrefix</stringProp>
                    <stringProp name="Argument.value">_</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/product-categories/paging.html?productId=${PRODUCT_ID}</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">application/x-www-form-urlencoded;charset=UTF-8</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">*/*</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">1634.4</stringProp>
                <stringProp name="ConstantTimer.delay">3268.8</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="products/addProductToCategories" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments">
                  <elementProp name="id" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">id</stringProp>
                    <stringProp name="Argument.value">4</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                  <elementProp name="productId" elementType="HTTPArgument">
                    <boolProp name="HTTPArgument.always_encode">true</boolProp>
                    <stringProp name="Argument.name">productId</stringProp>
                    <stringProp name="Argument.value">${PRODUCT_ID}</stringProp>
                    <stringProp name="Argument.metadata">=</stringProp>
                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                  </elementProp>
                </collectionProp>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/products/addProductToCategories.html</stringProp>
              <stringProp name="HTTPSampler.method">POST</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">true</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="false">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Origin" elementType="Header">
                    <stringProp name="Header.name">Origin</stringProp>
                    <stringProp name="Header.value">http://localhost:8080</stringProp>
                  </elementProp>
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Content-Type" elementType="Header">
                    <stringProp name="Header.name">Content-Type</stringProp>
                    <stringProp name="Header.value">multipart/form-data;boundary=----WebKitFormBoundary1Vpb3naPvzIC1lA3</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/displayProductToCategories.html?id=2050</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">787.6</stringProp>
                <stringProp name="ConstantTimer.delay">1575.2</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="admin/j_spring_security_logout" enabled="true">
              <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" enabled="true">
                <collectionProp name="Arguments.arguments"/>
              </elementProp>
              <stringProp name="HTTPSampler.domain">${HOST}</stringProp>
              <stringProp name="HTTPSampler.port">${PORT}</stringProp>
              <stringProp name="HTTPSampler.protocol">http</stringProp>
              <stringProp name="HTTPSampler.contentEncoding"></stringProp>
              <stringProp name="HTTPSampler.path">${SHOWCASE_ADMIN}/j_spring_security_logout</stringProp>
              <stringProp name="HTTPSampler.method">GET</stringProp>
              <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
              <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
              <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
              <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
              <boolProp name="HTTPSampler.image_parser">true</boolProp>
              <boolProp name="HTTPSampler.concurrentDwn">true</boolProp>
              <stringProp name="HTTPSampler.concurrentPool">2</stringProp>
              <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
              <stringProp name="HTTPSampler.connect_timeout"></stringProp>
              <stringProp name="HTTPSampler.response_timeout"></stringProp>
            </HTTPSamplerProxy>
            <hashTree>
              <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP Header manager" enabled="true">
                <collectionProp name="HeaderManager.headers">
                  <elementProp name="Upgrade-Insecure-Requests" elementType="Header">
                    <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
                    <stringProp name="Header.value">1</stringProp>
                  </elementProp>
                  <elementProp name="User-Agent" elementType="Header">
                    <stringProp name="Header.name">User-Agent</stringProp>
                    <stringProp name="Header.value">Mozilla/5.0(X11;Linuxx86_64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/52.0.2743.116Safari/537.36</stringProp>
                  </elementProp>
                  <elementProp name="Accept" elementType="Header">
                    <stringProp name="Header.name">Accept</stringProp>
                    <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8</stringProp>
                  </elementProp>
                  <elementProp name="Referer" elementType="Header">
                    <stringProp name="Header.name">Referer</stringProp>
                    <stringProp name="Header.value">http://localhost:8080/sm-shop/admin/products/addProductToCategories.html</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Encoding" elementType="Header">
                    <stringProp name="Header.name">Accept-Encoding</stringProp>
                    <stringProp name="Header.value">gzip,deflate,sdch</stringProp>
                  </elementProp>
                  <elementProp name="Accept-Language" elementType="Header">
                    <stringProp name="Header.name">Accept-Language</stringProp>
                    <stringProp name="Header.value">en-US,en;q=0.8</stringProp>
                  </elementProp>
                </collectionProp>
              </HeaderManager>
              <hashTree/>
              <UniformRandomTimer guiclass="UniformRandomTimerGui" testclass="UniformRandomTimer" testname="Uniform Random Timer" enabled="true">
                <stringProp name="RandomTimer.range">806.4000000000001</stringProp>
                <stringProp name="ConstantTimer.delay">1612.8000000000002</stringProp>
              </UniformRandomTimer>
              <hashTree/>
            </hashTree>
            <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true">
              <stringProp name="ConstantTimer.delay">7000</stringProp>
            </ConstantTimer>
            <hashTree/>
          </hashTree>
          <CacheManager guiclass="CacheManagerGui" testclass="CacheManager" testname="HTTP Cache Manager" enabled="false">
            <boolProp name="clearEachIteration">false</boolProp>
            <boolProp name="useExpires">false</boolProp>
          </CacheManager>
          <hashTree/>
          <GaussianRandomTimer guiclass="GaussianRandomTimerGui" testclass="GaussianRandomTimer" testname="Thinking Gaussian Random Timer" enabled="false">
            <stringProp name="ConstantTimer.delay">7000</stringProp>
            <stringProp name="RandomTimer.range">7000</stringProp>
          </GaussianRandomTimer>
          <hashTree/>
        </hashTree>
        <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="View Results Tree" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>true</responseData>
              <samplerData>false</samplerData>
              <xml>true</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>true</responseHeaders>
              <requestHeaders>true</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <url>true</url>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
        </ResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.SynthesisReportGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Synthesis Report (filtered)" enabled="true">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels">Debug Sampler</stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ThreadsStateOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Active Threads Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">500</longProp>
          <boolProp name="graph_aggregated">false</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.ResponseTimesOverTimeGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Response Times Over Time" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>false</latency>
              <timestamp>true</timestamp>
              <success>false</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>false</threadName>
              <dataType>false</dataType>
              <encoding>false</encoding>
              <assertions>false</assertions>
              <subresults>false</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>false</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <threadCounts>true</threadCounts>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.vizualizers.CorrectedResultCollector guiclass="kg.apc.jmeter.vizualizers.TransactionsPerSecondGui" testclass="kg.apc.jmeter.vizualizers.CorrectedResultCollector" testname="jp@gc - Transactions per Second" enabled="false">
          <boolProp name="ResultCollector.error_logging">false</boolProp>
          <objProp>
            <name>saveConfig</name>
            <value class="SampleSaveConfiguration">
              <time>true</time>
              <latency>true</latency>
              <timestamp>true</timestamp>
              <success>true</success>
              <label>true</label>
              <code>true</code>
              <message>true</message>
              <threadName>true</threadName>
              <dataType>true</dataType>
              <encoding>false</encoding>
              <assertions>true</assertions>
              <subresults>true</subresults>
              <responseData>false</responseData>
              <samplerData>false</samplerData>
              <xml>false</xml>
              <fieldNames>true</fieldNames>
              <responseHeaders>false</responseHeaders>
              <requestHeaders>false</requestHeaders>
              <responseDataOnError>false</responseDataOnError>
              <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
              <assertionsResultsToSave>0</assertionsResultsToSave>
              <bytes>true</bytes>
              <threadCounts>true</threadCounts>
              <idleTime>true</idleTime>
            </value>
          </objProp>
          <stringProp name="filename"></stringProp>
          <longProp name="interval_grouping">1000</longProp>
          <boolProp name="graph_aggregated">true</boolProp>
          <stringProp name="include_sample_labels"></stringProp>
          <stringProp name="exclude_sample_labels"></stringProp>
          <stringProp name="start_offset"></stringProp>
          <stringProp name="end_offset"></stringProp>
          <boolProp name="include_checkbox_state">false</boolProp>
          <boolProp name="exclude_checkbox_state">false</boolProp>
        </kg.apc.jmeter.vizualizers.CorrectedResultCollector>
        <hashTree/>
        <kg.apc.jmeter.reporters.FlexibleFileWriter guiclass="kg.apc.jmeter.reporters.FlexibleFileWriterGui" testclass="kg.apc.jmeter.reporters.FlexibleFileWriter" testname="jp@gc - Flexible File Writer" enabled="false">
          <stringProp name="filename">testResults.txt</stringProp>
          <stringProp name="columns">endTimeMillis|\t|responseTime|\t|latency|\t|sentBytes|\t|receivedBytes|\t|isSuccessful|\t|responseCode|\r\n</stringProp>
          <boolProp name="overwrite">false</boolProp>
          <stringProp name="header">endTimeMillis	responseTime	latency	sentBytes	receivedBytes	isSuccessful	responseCode
</stringProp>
          <stringProp name="footer"></stringProp>
        </kg.apc.jmeter.reporters.FlexibleFileWriter>
        <hashTree/>
      </hashTree>
    </hashTree>
    <WorkBench guiclass="WorkBenchGui" testclass="WorkBench" testname="WorkBench" enabled="true">
      <boolProp name="WorkBench.save">true</boolProp>
    </WorkBench>
    <hashTree/>
  </hashTree>
</jmeterTestPlan>