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="&#21830;&#21697;&#20998;&#31867;2" 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 + <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="header_h5" enabled="true">
  16 + <collectionProp name="HeaderManager.headers">
  17 + <elementProp name="" elementType="Header">
  18 + <stringProp name="Header.name">User-Agent</stringProp>
  19 + <stringProp name="Header.value">Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36</stringProp>
  20 + </elementProp>
  21 + <elementProp name="" elementType="Header">
  22 + <stringProp name="Header.name">Accept</stringProp>
  23 + <stringProp name="Header.value">text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8</stringProp>
  24 + </elementProp>
  25 + <elementProp name="" elementType="Header">
  26 + <stringProp name="Header.name">Accept-Language</stringProp>
  27 + <stringProp name="Header.value">zh-CN,zh;q=0.8,en;q=0.6</stringProp>
  28 + </elementProp>
  29 + <elementProp name="" elementType="Header">
  30 + <stringProp name="Header.name">Accept-Encoding</stringProp>
  31 + <stringProp name="Header.value">gzip, deflate</stringProp>
  32 + </elementProp>
  33 + <elementProp name="" elementType="Header">
  34 + <stringProp name="Header.name">Content-Type</stringProp>
  35 + <stringProp name="Header.value">application/x-www-form-urlencoded; charset=UTF-8</stringProp>
  36 + </elementProp>
  37 + <elementProp name="" elementType="Header">
  38 + <stringProp name="Header.name">Upgrade-Insecure-Requests</stringProp>
  39 + <stringProp name="Header.value">1</stringProp>
  40 + </elementProp>
  41 + <elementProp name="" elementType="Header">
  42 + <stringProp name="Header.name">Host</stringProp>
  43 + <stringProp name="Header.value">m.yohobuy.com</stringProp>
  44 + </elementProp>
  45 + </collectionProp>
  46 + <stringProp name="TestPlan.comments"></stringProp>
  47 + </HeaderManager>
  48 + <hashTree/>
  49 + <CookieManager guiclass="CookiePanel" testclass="CookieManager" testname="cookie_&#31354;&#30333;" enabled="true">
  50 + <collectionProp name="CookieManager.cookies">
  51 + </collectionProp>
  52 + <stringProp name="TestPlan.comments"></stringProp>
  53 + <boolProp name="CookieManager.clearEachIteration">false</boolProp>
  54 + <stringProp name="CookieManager.policy">standard</stringProp>
  55 + <stringProp name="CookieManager.implementation">org.apache.jmeter.protocol.http.control.HC4CookieHandler</stringProp>
  56 + </CookieManager>
  57 + <hashTree/>
  58 + <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="arguments_&#24615;&#33021;&#27979;&#35797;&#29615;&#22659;" enabled="true">
  59 + <collectionProp name="Arguments.arguments">
  60 + <elementProp name="HOST_API" elementType="Argument">
  61 + <stringProp name="Argument.name">HOST_API</stringProp>
  62 + <stringProp name="Argument.value">api-pt.yohoops.org</stringProp>
  63 + <stringProp name="Argument.metadata">=</stringProp>
  64 + </elementProp>
  65 + <elementProp name="HOST_SERVICE" elementType="Argument">
  66 + <stringProp name="Argument.name">HOST_SERVICE</stringProp>
  67 + <stringProp name="Argument.value">service-pt.yohoops.org</stringProp>
  68 + <stringProp name="Argument.metadata">=</stringProp>
  69 + </elementProp>
  70 + <elementProp name="HOST_PC" elementType="Argument">
  71 + <stringProp name="Argument.name">HOST_PC</stringProp>
  72 + <stringProp name="Argument.value">www.yohobuy.com</stringProp>
  73 + <stringProp name="Argument.metadata">=</stringProp>
  74 + </elementProp>
  75 + <elementProp name="HOST_SEARCH" elementType="Argument">
  76 + <stringProp name="Argument.name">HOST_SEARCH</stringProp>
  77 + <stringProp name="Argument.value">searchyohoops.yohobuy.com</stringProp>
  78 + <stringProp name="Argument.metadata">=</stringProp>
  79 + </elementProp>
  80 + <elementProp name="HOST_ITEM" elementType="Argument">
  81 + <stringProp name="Argument.name">HOST_ITEM</stringProp>
  82 + <stringProp name="Argument.value">item.yohobuy.com</stringProp>
  83 + <stringProp name="Argument.metadata">=</stringProp>
  84 + </elementProp>
  85 + <elementProp name="HOST_LIST" elementType="Argument">
  86 + <stringProp name="Argument.name">HOST_LIST</stringProp>
  87 + <stringProp name="Argument.value">list.yohobuy.com</stringProp>
  88 + <stringProp name="Argument.metadata">=</stringProp>
  89 + </elementProp>
  90 + <elementProp name="HOST_SHOP" elementType="Argument">
  91 + <stringProp name="Argument.name">HOST_SHOP</stringProp>
  92 + <stringProp name="Argument.value">izzue.yohobuy.com</stringProp>
  93 + <stringProp name="Argument.metadata">=</stringProp>
  94 + </elementProp>
  95 + <elementProp name="ID_SHOP" elementType="Argument">
  96 + <stringProp name="Argument.name">ID_SHOP</stringProp>
  97 + <stringProp name="Argument.value">1486</stringProp>
  98 + <stringProp name="Argument.metadata">=</stringProp>
  99 + </elementProp>
  100 + <elementProp name="HOST_H5" elementType="Argument">
  101 + <stringProp name="Argument.name">HOST_H5</stringProp>
  102 + <stringProp name="Argument.value">m.yohobuy.com</stringProp>
  103 + <stringProp name="Argument.metadata">=</stringProp>
  104 + </elementProp>
  105 + <elementProp name="HOST_SEARCH_H5" elementType="Argument">
  106 + <stringProp name="Argument.name">HOST_SEARCH_H5</stringProp>
  107 + <stringProp name="Argument.value">search.m.yohobuy.com</stringProp>
  108 + <stringProp name="Argument.metadata">=</stringProp>
  109 + </elementProp>
  110 + <elementProp name="HOST_GUANG_H5" elementType="Argument">
  111 + <stringProp name="Argument.name">HOST_GUANG_H5</stringProp>
  112 + <stringProp name="Argument.value">guang.m.yohobuy.com</stringProp>
  113 + <stringProp name="Argument.metadata">=</stringProp>
  114 + </elementProp>
  115 + </collectionProp>
  116 + <stringProp name="TestPlan.comments"></stringProp> </Arguments>
  117 + <hashTree/>
  118 + <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_uid_mobile_openid_test_1w" enabled="true">
  119 + <stringProp name="TestPlan.comments"></stringProp>
  120 + <stringProp name="filename">/opt/jmeter/data/uid_mobile_openid_test.csv</stringProp>
  121 + <stringProp name="fileEncoding">utf-8</stringProp>
  122 + <stringProp name="variableNames">uid_test,mobile_test,open_id_test</stringProp>
  123 + <stringProp name="delimiter">,</stringProp>
  124 + <boolProp name="quotedData">false</boolProp>
  125 + <boolProp name="recycle">true</boolProp>
  126 + <boolProp name="stopThread">false</boolProp>
  127 + <stringProp name="shareMode">shareMode.all</stringProp>
  128 + </CSVDataSet>
  129 + <hashTree/>
  130 + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_&#21830;&#21697;&#20998;&#31867;" enabled="true">
  131 + <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
  132 + <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">
  133 + <boolProp name="LoopController.continue_forever">false</boolProp>
  134 + <intProp name="LoopController.loops">-1</intProp>
  135 + </elementProp>
  136 + <stringProp name="ThreadGroup.num_threads">100</stringProp>
  137 + <stringProp name="ThreadGroup.ramp_time">10</stringProp>
  138 + <longProp name="ThreadGroup.start_time">1488865571000</longProp>
  139 + <longProp name="ThreadGroup.end_time">1488865571000</longProp>
  140 + <boolProp name="ThreadGroup.scheduler">false</boolProp>
  141 + <stringProp name="ThreadGroup.duration"></stringProp>
  142 + <stringProp name="ThreadGroup.delay"></stringProp>
  143 + <stringProp name="TestPlan.comments"></stringProp>
  144 + </ThreadGroup>
  145 + <hashTree>
  146 +<OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="登录一次" enabled="true"/>
  147 + <hashTree>
  148 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pc_first" enabled="true">
  149 + <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
  150 + <collectionProp name="Arguments.arguments"/>
  151 + </elementProp>
  152 + <stringProp name="HTTPSampler.domain"></stringProp>
  153 + <stringProp name="HTTPSampler.port"></stringProp>
  154 + <stringProp name="HTTPSampler.protocol"></stringProp>
  155 + <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  156 + <stringProp name="HTTPSampler.path">http://${HOST_H5}/signin.html</stringProp>
  157 + <stringProp name="HTTPSampler.method">GET</stringProp>
  158 + <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  159 + <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  160 + <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  161 + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  162 + <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  163 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  164 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  165 + </HTTPSamplerProxy>
  166 + <hashTree>
  167 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
  168 + <collectionProp name="Asserion.test_strings"/>
  169 + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
  170 + <boolProp name="Assertion.assume_success">false</boolProp>
  171 + <intProp name="Assertion.test_type">16</intProp>
  172 + </ResponseAssertion>
  173 + <hashTree/>
  174 + </hashTree>
  175 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pc_login" enabled="true">
  176 + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  177 + <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  178 + <collectionProp name="Arguments.arguments">
  179 + <elementProp name="" elementType="HTTPArgument">
  180 + <boolProp name="HTTPArgument.always_encode">false</boolProp>
  181 + <stringProp name="Argument.value">areaCode=86&amp;account=${mobile_test}&amp;password=abc123&amp;verifyCode=yoho4946abcdef%23%24%25%26!%40&amp;isRemember=true&amp;loginType=password&amp;yohobuy=yoho4946abcdef%23%24%25%26!%40</stringProp>
  182 + <stringProp name="Argument.metadata">=</stringProp>
  183 + </elementProp>
  184 + </collectionProp>
  185 + </elementProp>
  186 + <stringProp name="HTTPSampler.domain"></stringProp>
  187 + <stringProp name="HTTPSampler.port"></stringProp>
  188 + <stringProp name="HTTPSampler.protocol"></stringProp>
  189 + <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  190 + <stringProp name="HTTPSampler.path">http://${HOST_H5}/passport/login/auth</stringProp>
  191 + <stringProp name="HTTPSampler.method">POST</stringProp>
  192 + <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  193 + <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  194 + <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  195 + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  196 + <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  197 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  198 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  199 + </HTTPSamplerProxy>
  200 + <hashTree>
  201 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
  202 + <collectionProp name="Asserion.test_strings">
  203 + <stringProp name="723337899">&quot;code&quot;:200</stringProp>
  204 + </collectionProp>
  205 + <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
  206 + <boolProp name="Assertion.assume_success">false</boolProp>
  207 + <intProp name="Assertion.test_type">16</intProp>
  208 + </ResponseAssertion>
  209 + <hashTree/>
  210 + </hashTree>
  211 + </hashTree>
  212 + <com.blazemeter.jmeter.controller.ParallelSampler guiclass="com.blazemeter.jmeter.controller.ParallelControllerGui" testclass="com.blazemeter.jmeter.controller.ParallelSampler" testname="bzm - Parallel Controller" enabled="true">
  213 + <boolProp name="PARENT_SAMPLE">false</boolProp>
  214 + </com.blazemeter.jmeter.controller.ParallelSampler>
  215 + <hashTree>
  216 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_&#21830;&#21697;&#20998;&#31867;" enabled="true">
  217 + <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
  218 + <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
  219 + <collectionProp name="Arguments.arguments">
  220 + <elementProp name="" elementType="HTTPArgument">
  221 + <boolProp name="HTTPArgument.always_encode">false</boolProp>
  222 + <stringProp name="Argument.value"></stringProp>
  223 + <stringProp name="Argument.metadata">=</stringProp>
  224 + </elementProp>
  225 + </collectionProp>
  226 + </elementProp>
  227 + <stringProp name="HTTPSampler.domain"></stringProp>
  228 + <stringProp name="HTTPSampler.port"></stringProp>
  229 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  230 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  231 + <stringProp name="HTTPSampler.protocol"></stringProp>
  232 + <stringProp name="HTTPSampler.contentEncoding"></stringProp>
  233 + <stringProp name="HTTPSampler.path">http://${HOST_H5}/cate?gender=1,3</stringProp>
  234 + <stringProp name="HTTPSampler.method">GET</stringProp>
  235 + <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
  236 + <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
  237 + <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
  238 + <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
  239 + <boolProp name="HTTPSampler.monitor">false</boolProp>
  240 + <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
  241 + <stringProp name="TestPlan.comments"></stringProp>
  242 + </HTTPSamplerProxy>
  243 + <hashTree>
  244 + </hashTree>
  245 + </hashTree>
  246 + <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="&#22266;&#23450;TPM" enabled="true">
  247 + <stringProp name="TestPlan.comments"></stringProp>
  248 + <doubleProp>
  249 + <name>throughput</name>
  250 + <value>60000</value>
  251 + <savedValue>0.0</savedValue>
  252 + </doubleProp>
  253 + <intProp name="calcMode">2</intProp>
  254 + </ConstantThroughputTimer>
  255 + <hashTree/>
  256 + </hashTree>
  257 + <BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="influxdb_master" enabled="true">
  258 + <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
  259 + <collectionProp name="Arguments.arguments">
  260 + <elementProp name="graphiteMetricsSender" elementType="Argument">
  261 + <stringProp name="Argument.name">graphiteMetricsSender</stringProp>
  262 + <stringProp name="Argument.value">org.apache.jmeter.visualizers.backend.graphite.TextGraphiteMetricsSender</stringProp>
  263 + <stringProp name="Argument.metadata">=</stringProp>
  264 + </elementProp>
  265 + <elementProp name="graphiteHost" elementType="Argument">
  266 + <stringProp name="Argument.name">graphiteHost</stringProp>
  267 + <stringProp name="Argument.value">192.168.104.43</stringProp>
  268 + <stringProp name="Argument.metadata">=</stringProp>
  269 + </elementProp>
  270 + <elementProp name="graphitePort" elementType="Argument">
  271 + <stringProp name="Argument.name">graphitePort</stringProp>
  272 + <stringProp name="Argument.value">2003</stringProp>
  273 + <stringProp name="Argument.metadata">=</stringProp>
  274 + </elementProp>
  275 + <elementProp name="rootMetricsPrefix" elementType="Argument">
  276 + <stringProp name="Argument.name">rootMetricsPrefix</stringProp>
  277 + <stringProp name="Argument.value">${__machineIP()}.</stringProp>
  278 + <stringProp name="Argument.metadata">=</stringProp>
  279 + </elementProp>
  280 + <elementProp name="summaryOnly" elementType="Argument">
  281 + <stringProp name="Argument.name">summaryOnly</stringProp>
  282 + <stringProp name="Argument.value">false</stringProp>
  283 + <stringProp name="Argument.metadata">=</stringProp>
  284 + </elementProp>
  285 + <elementProp name="samplersList" elementType="Argument">
  286 + <stringProp name="Argument.name">samplersList</stringProp>
  287 + <stringProp name="Argument.value">tc_.*</stringProp>
  288 + <stringProp name="Argument.metadata">=</stringProp>
  289 + </elementProp>
  290 + <elementProp name="useRegexpForSamplersList" elementType="Argument">
  291 + <stringProp name="Argument.name">useRegexpForSamplersList</stringProp>
  292 + <stringProp name="Argument.value">true</stringProp>
  293 + <stringProp name="Argument.metadata">=</stringProp>
  294 + </elementProp>
  295 + <elementProp name="percentiles" elementType="Argument">
  296 + <stringProp name="Argument.name">percentiles</stringProp>
  297 + <stringProp name="Argument.value">90</stringProp>
  298 + <stringProp name="Argument.metadata">=</stringProp>
  299 + </elementProp>
  300 + </collectionProp>
  301 + </elementProp>
  302 + <stringProp name="classname">org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient</stringProp>
  303 + <stringProp name="TestPlan.comments"></stringProp>
  304 + </BackendListener>
  305 + <hashTree/> </hashTree>
  306 + </hashTree>
  307 +</jmeterTestPlan>