Authored by Rong

commit by shell

  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<jmeterTestPlan version="1.2" properties="3.1" jmeter="3.1 r1770033">
  3 + <hashTree>
  4 + <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="test" enabled="true">
  5 + <stringProp name="TestPlan.comments">YohoPerformanceTest_ThisScriptIsGeneratedByYPT</stringProp>
  6 + <boolProp name="TestPlan.functional_mode">false</boolProp>
  7 + <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
  8 + <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
  9 + <collectionProp name="Arguments.arguments">
  10 + </collectionProp>
  11 + </elementProp>
  12 + <stringProp name="TestPlan.user_define_classpath"></stringProp>
  13 + </TestPlan>
  14 + <hashTree>
  15 + <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="arguments_&#27979;&#35797;&#29615;&#22659;&#19977;" enabled="true">
  16 + <collectionProp name="Arguments.arguments">
  17 + <elementProp name="HOST_API" elementType="Argument">
  18 + <stringProp name="Argument.name">HOST_API</stringProp>
  19 + <stringProp name="Argument.value">api-test3.yohops.com:9999</stringProp>
  20 + <stringProp name="Argument.metadata">=</stringProp>
  21 + </elementProp>
  22 + </collectionProp>
  23 + <stringProp name="TestPlan.comments"></stringProp> </Arguments>
  24 + <hashTree/>
  25 + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_" enabled="true">
  26 + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
  27 + <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">
  28 + <boolProp name="LoopController.continue_forever">false</boolProp>
  29 + <stringProp name="LoopController.loops">1</stringProp>
  30 + </elementProp>
  31 + <stringProp name="ThreadGroup.num_threads">1</stringProp>
  32 + <stringProp name="ThreadGroup.ramp_time">10</stringProp>
  33 + <longProp name="ThreadGroup.start_time">1488865571000</longProp>
  34 + <longProp name="ThreadGroup.end_time">1488865571000</longProp>
  35 + <boolProp name="ThreadGroup.scheduler">false</boolProp>
  36 + <stringProp name="ThreadGroup.duration"></stringProp>
  37 + <stringProp name="ThreadGroup.delay"></stringProp>
  38 + <stringProp name="TestPlan.comments"></stringProp>
  39 + </ThreadGroup>
  40 + <hashTree>
  41 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_shopping_submitTicket" enabled="true">
  42 + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  43 + <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  44 + <collectionProp name="Arguments.arguments">
  45 + <elementProp name="" elementType="HTTPArgument">
  46 + <boolProp name="HTTPArgument.always_encode">false</boolProp>
  47 + <stringProp name="Argument.value"></stringProp>
  48 + <stringProp name="Argument.metadata">=</stringProp>
  49 + </elementProp>
  50 + </collectionProp>
  51 + </elementProp>
  52 + <stringProp name="HTTPSampler.domain"></stringProp>
  53 + <stringProp name="HTTPSampler.port"></stringProp>
  54 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  55 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  56 + <stringProp name="HTTPSampler.protocol"></stringProp>
  57 + <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  58 + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>
  59 + <stringProp name="HTTPSampler.method">GET</stringProp>
  60 + <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  61 + <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  62 + <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  63 + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  64 + <boolProp name="HTTPSampler.monitor">false</boolProp>
  65 + <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  66 + <stringProp name="TestPlan.comments">&#38376;&#31080;&#19979;&#21333;</stringProp>
  67 + </HTTPSamplerProxy>
  68 + <hashTree>
  69 + <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">
  70 + <stringProp name="TestPlan.comments"></stringProp>
  71 + <boolProp name="resetInterpreter">false</boolProp>
  72 + <stringProp name="parameters"></stringProp>
  73 + <stringProp name="filename"></stringProp>
  74 + <stringProp name="script">import java.security.MessageDigest;
  75 +import java.util.Random;
  76 +String[] clientTypes = {&quot;android&quot;};
  77 +String[] privateKeys = {&quot;fd4ad5fcfa0de589ef238c0e7331b585&quot;};
  78 +int rd = new Random().nextInt(1);
  79 +String clientType = clientTypes[rd];
  80 +String privateKey = privateKeys[rd];
  81 +String req = &quot;app_version=3.8.2&amp;buy_number=2&amp;method=app.shopping.submitTicket&amp;mobile=18914723873&amp;os_version=yohobuy:h5&amp;private_key=&quot;+private_key+&quot;&amp;product_sku=1379812&amp;screen_size=720x1280&amp;uid=20000478&amp;use_yoho_coin=240&amp;v=7&quot;;
  82 +MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;);
  83 +byte[] btInput = req.getBytes();
  84 +md.update(btInput);
  85 +byte[] btResult = md.digest();
  86 +StringBuffer sb = new StringBuffer();
  87 +for(byte b : btResult){
  88 + int bt = b&amp;0xff;
  89 + if(bt&lt;16){
  90 + sb.append(0);
  91 + }
  92 + sb.append(Integer.toHexString(bt));
  93 +}
  94 +String md5 = sb.toString();
  95 +vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>
  96 + </BeanShellPreProcessor>
  97 + <hashTree/>
  98 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true">
  99 + <collectionProp name="Asserion.test_strings">
  100 + <stringProp name="1450572480">&quot;code&quot;:200</stringProp>
  101 + </collectionProp>
  102 + <stringProp name="TestPlan.comments"></stringProp>
  103 + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
  104 + <boolProp name="Assertion.assume_success">false</boolProp>
  105 + <intProp name="Assertion.test_type">16</intProp>
  106 + </ResponseAssertion>
  107 + <hashTree/>
  108 + </hashTree>
  109 + <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="&#22266;&#23450;TPM" enabled="true">
  110 + <stringProp name="TestPlan.comments"></stringProp>
  111 + <doubleProp>
  112 + <name>throughput</name>
  113 + <value>600</value>
  114 + <savedValue>0.0</savedValue>
  115 + </doubleProp>
  116 + <intProp name="calcMode">2</intProp>
  117 + </ConstantThroughputTimer>
  118 + <hashTree/>
  119 + </hashTree>
  120 + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_test" enabled="true">
  121 + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
  122 + <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">
  123 + <boolProp name="LoopController.continue_forever">false</boolProp>
  124 + <intProp name="LoopController.loops">-1</intProp>
  125 + </elementProp>
  126 + <stringProp name="ThreadGroup.num_threads">1</stringProp>
  127 + <stringProp name="ThreadGroup.ramp_time">10</stringProp>
  128 + <longProp name="ThreadGroup.start_time">1488865571000</longProp>
  129 + <longProp name="ThreadGroup.end_time">1488865571000</longProp>
  130 + <boolProp name="ThreadGroup.scheduler">false</boolProp>
  131 + <stringProp name="ThreadGroup.duration"></stringProp>
  132 + <stringProp name="ThreadGroup.delay"></stringProp>
  133 + <stringProp name="TestPlan.comments">test</stringProp>
  134 + </ThreadGroup>
  135 + <hashTree>
  136 +<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="tc_test" enabled="true">
  137 + <boolProp name="TransactionController.includeTimers">false</boolProp>
  138 + <boolProp name="TransactionController.parent">false</boolProp>
  139 + </TransactionController>
  140 + <hashTree>
  141 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="child_tc_app_Shopping_queryCart" enabled="true">
  142 + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  143 + <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  144 + <collectionProp name="Arguments.arguments">
  145 + <elementProp name="" elementType="HTTPArgument">
  146 + <boolProp name="HTTPArgument.always_encode">false</boolProp>
  147 + <stringProp name="Argument.value"></stringProp>
  148 + <stringProp name="Argument.metadata">=</stringProp>
  149 + </elementProp>
  150 + </collectionProp>
  151 + </elementProp>
  152 + <stringProp name="HTTPSampler.domain"></stringProp>
  153 + <stringProp name="HTTPSampler.port"></stringProp>
  154 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  155 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  156 + <stringProp name="HTTPSampler.protocol"></stringProp>
  157 + <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  158 + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>
  159 + <stringProp name="HTTPSampler.method">GET</stringProp>
  160 + <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  161 + <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  162 + <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  163 + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  164 + <boolProp name="HTTPSampler.monitor">false</boolProp>
  165 + <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  166 + <stringProp name="TestPlan.comments">&#26597;&#35810;&#29992;&#25143;&#36141;&#29289;&#36710;</stringProp>
  167 + </HTTPSamplerProxy>
  168 + <hashTree>
  169 + <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">
  170 + <stringProp name="TestPlan.comments"></stringProp>
  171 + <boolProp name="resetInterpreter">false</boolProp>
  172 + <stringProp name="parameters"></stringProp>
  173 + <stringProp name="filename"></stringProp>
  174 + <stringProp name="script">import java.security.MessageDigest;
  175 +import java.util.Random;
  176 +String[] clientTypes = {&quot;android&quot;};
  177 +String[] privateKeys = {&quot;fd4ad5fcfa0de589ef238c0e7331b585&quot;};
  178 +int rd = new Random().nextInt(1);
  179 +String clientType = clientTypes[rd];
  180 +String privateKey = privateKeys[rd];
  181 +String req = &quot;app_version=5.9.0&amp;is_support_mlp=Y&amp;method=app.Shopping.queryCart&amp;os_version=yohobuy:h5&amp;private_key=&quot;+private_key+&quot;&amp;sale_channel=girls&amp;screen_size=720x1280&amp;session_key=efacd23aaa867906b87b137f8a28dc4b&amp;shopping_key=&amp;uid=51663990&amp;v=7&quot;;
  182 +MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;);
  183 +byte[] btInput = req.getBytes();
  184 +md.update(btInput);
  185 +byte[] btResult = md.digest();
  186 +StringBuffer sb = new StringBuffer();
  187 +for(byte b : btResult){
  188 + int bt = b&amp;0xff;
  189 + if(bt&lt;16){
  190 + sb.append(0);
  191 + }
  192 + sb.append(Integer.toHexString(bt));
  193 +}
  194 +String md5 = sb.toString();
  195 +vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>
  196 + </BeanShellPreProcessor>
  197 + <hashTree/>
  198 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true">
  199 + <collectionProp name="Asserion.test_strings">
  200 + <stringProp name="1450572480">&quot;code&quot;:200</stringProp>
  201 + </collectionProp>
  202 + <stringProp name="TestPlan.comments"></stringProp>
  203 + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
  204 + <boolProp name="Assertion.assume_success">false</boolProp>
  205 + <intProp name="Assertion.test_type">16</intProp>
  206 + </ResponseAssertion>
  207 + <hashTree/>
  208 + </hashTree>
  209 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="child_tc_app_Shopping_queryPromotionGifts" enabled="true">
  210 + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  211 + <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  212 + <collectionProp name="Arguments.arguments">
  213 + <elementProp name="" elementType="HTTPArgument">
  214 + <boolProp name="HTTPArgument.always_encode">false</boolProp>
  215 + <stringProp name="Argument.value"></stringProp>
  216 + <stringProp name="Argument.metadata">=</stringProp>
  217 + </elementProp>
  218 + </collectionProp>
  219 + </elementProp>
  220 + <stringProp name="HTTPSampler.domain"></stringProp>
  221 + <stringProp name="HTTPSampler.port"></stringProp>
  222 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  223 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  224 + <stringProp name="HTTPSampler.protocol"></stringProp>
  225 + <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  226 + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>
  227 + <stringProp name="HTTPSampler.method">GET</stringProp>
  228 + <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  229 + <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  230 + <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  231 + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  232 + <boolProp name="HTTPSampler.monitor">false</boolProp>
  233 + <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  234 + <stringProp name="TestPlan.comments">&#21152;&#20215;&#36141;&#20419;&#38144;&#21830;&#21697;&#21015;&#34920;</stringProp>
  235 + </HTTPSamplerProxy>
  236 + <hashTree>
  237 + <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">
  238 + <stringProp name="TestPlan.comments"></stringProp>
  239 + <boolProp name="resetInterpreter">false</boolProp>
  240 + <stringProp name="parameters"></stringProp>
  241 + <stringProp name="filename"></stringProp>
  242 + <stringProp name="script">import java.security.MessageDigest;
  243 +import java.util.Random;
  244 +String[] clientTypes = {&quot;android&quot;};
  245 +String[] privateKeys = {&quot;fd4ad5fcfa0de589ef238c0e7331b585&quot;};
  246 +int rd = new Random().nextInt(1);
  247 +String clientType = clientTypes[rd];
  248 +String privateKey = privateKeys[rd];
  249 +String req = &quot;app_version=5.8.0&amp;method=app.Shopping.queryPromotionGifts&amp;os_version=yohobuy:web&amp;private_key=&quot;+private_key+&quot;&amp;promotion_ids=9936&amp;screen_size=720x1280&amp;v=7&quot;;
  250 +MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;);
  251 +byte[] btInput = req.getBytes();
  252 +md.update(btInput);
  253 +byte[] btResult = md.digest();
  254 +StringBuffer sb = new StringBuffer();
  255 +for(byte b : btResult){
  256 + int bt = b&amp;0xff;
  257 + if(bt&lt;16){
  258 + sb.append(0);
  259 + }
  260 + sb.append(Integer.toHexString(bt));
  261 +}
  262 +String md5 = sb.toString();
  263 +vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>
  264 + </BeanShellPreProcessor>
  265 + <hashTree/>
  266 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true">
  267 + <collectionProp name="Asserion.test_strings">
  268 + <stringProp name="1450572480">&quot;code&quot;:200</stringProp>
  269 + </collectionProp>
  270 + <stringProp name="TestPlan.comments"></stringProp>
  271 + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
  272 + <boolProp name="Assertion.assume_success">false</boolProp>
  273 + <intProp name="Assertion.test_type">16</intProp>
  274 + </ResponseAssertion>
  275 + <hashTree/>
  276 + </hashTree>
  277 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="child_tc_app_shopping_submitTicket" enabled="true">
  278 + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  279 + <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  280 + <collectionProp name="Arguments.arguments">
  281 + <elementProp name="" elementType="HTTPArgument">
  282 + <boolProp name="HTTPArgument.always_encode">false</boolProp>
  283 + <stringProp name="Argument.value"></stringProp>
  284 + <stringProp name="Argument.metadata">=</stringProp>
  285 + </elementProp>
  286 + </collectionProp>
  287 + </elementProp>
  288 + <stringProp name="HTTPSampler.domain"></stringProp>
  289 + <stringProp name="HTTPSampler.port"></stringProp>
  290 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  291 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  292 + <stringProp name="HTTPSampler.protocol"></stringProp>
  293 + <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  294 + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>
  295 + <stringProp name="HTTPSampler.method">GET</stringProp>
  296 + <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  297 + <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  298 + <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  299 + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  300 + <boolProp name="HTTPSampler.monitor">false</boolProp>
  301 + <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  302 + <stringProp name="TestPlan.comments">&#38376;&#31080;&#19979;&#21333;</stringProp>
  303 + </HTTPSamplerProxy>
  304 + <hashTree>
  305 + <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">
  306 + <stringProp name="TestPlan.comments"></stringProp>
  307 + <boolProp name="resetInterpreter">false</boolProp>
  308 + <stringProp name="parameters"></stringProp>
  309 + <stringProp name="filename"></stringProp>
  310 + <stringProp name="script">import java.security.MessageDigest;
  311 +import java.util.Random;
  312 +String[] clientTypes = {&quot;android&quot;};
  313 +String[] privateKeys = {&quot;fd4ad5fcfa0de589ef238c0e7331b585&quot;};
  314 +int rd = new Random().nextInt(1);
  315 +String clientType = clientTypes[rd];
  316 +String privateKey = privateKeys[rd];
  317 +String req = &quot;app_version=3.8.2&amp;buy_number=2&amp;method=app.shopping.submitTicket&amp;mobile=18914723873&amp;os_version=yohobuy:h5&amp;private_key=&quot;+private_key+&quot;&amp;product_sku=1379812&amp;screen_size=720x1280&amp;uid=20000478&amp;use_yoho_coin=240&amp;v=7&quot;;
  318 +MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;);
  319 +byte[] btInput = req.getBytes();
  320 +md.update(btInput);
  321 +byte[] btResult = md.digest();
  322 +StringBuffer sb = new StringBuffer();
  323 +for(byte b : btResult){
  324 + int bt = b&amp;0xff;
  325 + if(bt&lt;16){
  326 + sb.append(0);
  327 + }
  328 + sb.append(Integer.toHexString(bt));
  329 +}
  330 +String md5 = sb.toString();
  331 +vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>
  332 + </BeanShellPreProcessor>
  333 + <hashTree/>
  334 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true">
  335 + <collectionProp name="Asserion.test_strings">
  336 + <stringProp name="1450572480">&quot;code&quot;:200</stringProp>
  337 + </collectionProp>
  338 + <stringProp name="TestPlan.comments"></stringProp>
  339 + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
  340 + <boolProp name="Assertion.assume_success">false</boolProp>
  341 + <intProp name="Assertion.test_type">16</intProp>
  342 + </ResponseAssertion>
  343 + <hashTree/>
  344 + </hashTree>
  345 +</hashTree>
  346 + <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="&#22266;&#23450;TPM" enabled="true">
  347 + <stringProp name="TestPlan.comments"></stringProp>
  348 + <doubleProp>
  349 + <name>throughput</name>
  350 + <value>360</value>
  351 + <savedValue>0.0</savedValue>
  352 + </doubleProp>
  353 + <intProp name="calcMode">2</intProp>
  354 + </ConstantThroughputTimer>
  355 + <hashTree/>
  356 + </hashTree>
  357 + <BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="influxdb_master" enabled="true">
  358 + <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
  359 + <collectionProp name="Arguments.arguments">
  360 + <elementProp name="graphiteMetricsSender" elementType="Argument">
  361 + <stringProp name="Argument.name">graphiteMetricsSender</stringProp>
  362 + <stringProp name="Argument.value">org.apache.jmeter.visualizers.backend.graphite.TextGraphiteMetricsSender</stringProp>
  363 + <stringProp name="Argument.metadata">=</stringProp>
  364 + </elementProp>
  365 + <elementProp name="graphiteHost" elementType="Argument">
  366 + <stringProp name="Argument.name">graphiteHost</stringProp>
  367 + <stringProp name="Argument.value">192.168.103.44</stringProp>
  368 + <stringProp name="Argument.metadata">=</stringProp>
  369 + </elementProp>
  370 + <elementProp name="graphitePort" elementType="Argument">
  371 + <stringProp name="Argument.name">graphitePort</stringProp>
  372 + <stringProp name="Argument.value">2003</stringProp>
  373 + <stringProp name="Argument.metadata">=</stringProp>
  374 + </elementProp>
  375 + <elementProp name="rootMetricsPrefix" elementType="Argument">
  376 + <stringProp name="Argument.name">rootMetricsPrefix</stringProp>
  377 + <stringProp name="Argument.value">${__machineIP()}.</stringProp>
  378 + <stringProp name="Argument.metadata">=</stringProp>
  379 + </elementProp>
  380 + <elementProp name="summaryOnly" elementType="Argument">
  381 + <stringProp name="Argument.name">summaryOnly</stringProp>
  382 + <stringProp name="Argument.value">false</stringProp>
  383 + <stringProp name="Argument.metadata">=</stringProp>
  384 + </elementProp>
  385 + <elementProp name="samplersList" elementType="Argument">
  386 + <stringProp name="Argument.name">samplersList</stringProp>
  387 + <stringProp name="Argument.value">tc_.*</stringProp>
  388 + <stringProp name="Argument.metadata">=</stringProp>
  389 + </elementProp>
  390 + <elementProp name="useRegexpForSamplersList" elementType="Argument">
  391 + <stringProp name="Argument.name">useRegexpForSamplersList</stringProp>
  392 + <stringProp name="Argument.value">true</stringProp>
  393 + <stringProp name="Argument.metadata">=</stringProp>
  394 + </elementProp>
  395 + <elementProp name="percentiles" elementType="Argument">
  396 + <stringProp name="Argument.name">percentiles</stringProp>
  397 + <stringProp name="Argument.value">90</stringProp>
  398 + <stringProp name="Argument.metadata">=</stringProp>
  399 + </elementProp>
  400 + </collectionProp>
  401 + </elementProp>
  402 + <stringProp name="classname">org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient</stringProp>
  403 + <stringProp name="TestPlan.comments"></stringProp>
  404 + </BackendListener>
  405 + <hashTree/> </hashTree>
  406 + </hashTree>
  407 +</jmeterTestPlan>