Authored by Rong

commit by shell

1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 -<jmeterTestPlan version="1.2" properties="3.1" jmeter="3.1 r1770033"> 2 +<jmeterTestPlan version="1.2" properties="3.2" jmeter="3.2 r1790748">
3 <hashTree> 3 <hashTree>
4 - <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="&#25903;&#20184;&#22238;&#35843;" enabled="true"> 4 + <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="支付回调" enabled="true">
5 <stringProp name="TestPlan.comments">YohoPerformanceTest_ThisScriptIsGeneratedByYPT</stringProp> 5 <stringProp name="TestPlan.comments">YohoPerformanceTest_ThisScriptIsGeneratedByYPT</stringProp>
6 <boolProp name="TestPlan.functional_mode">false</boolProp> 6 <boolProp name="TestPlan.functional_mode">false</boolProp>
7 <boolProp name="TestPlan.serialize_threadgroups">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"> 8 <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">
9 - <collectionProp name="Arguments.arguments">  
10 - </collectionProp> 9 + <collectionProp name="Arguments.arguments"/>
11 </elementProp> 10 </elementProp>
12 <stringProp name="TestPlan.user_define_classpath"></stringProp> 11 <stringProp name="TestPlan.user_define_classpath"></stringProp>
13 </TestPlan> 12 </TestPlan>
@@ -20,10 +19,11 @@ @@ -20,10 +19,11 @@
20 <stringProp name="Argument.metadata">=</stringProp> 19 <stringProp name="Argument.metadata">=</stringProp>
21 </elementProp> 20 </elementProp>
22 </collectionProp> 21 </collectionProp>
23 - <stringProp name="TestPlan.comments">&#36890;&#29992;session&#26657;&#39564;&#30721;</stringProp> </Arguments> 22 + <stringProp name="TestPlan.comments">通用session校验码</stringProp>
  23 + </Arguments>
24 <hashTree/> 24 <hashTree/>
25 <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_hosts_pt" enabled="true"> 25 <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_hosts_pt" enabled="true">
26 - <stringProp name="TestPlan.comments"></stringProp> 26 + <stringProp name="TestPlan.comments">/opt/jmeter/data/hosts_pt.csv</stringProp>
27 <stringProp name="filename">/opt/jmeter/data/hosts_pt.csv</stringProp> 27 <stringProp name="filename">/opt/jmeter/data/hosts_pt.csv</stringProp>
28 <stringProp name="fileEncoding">utf-8</stringProp> 28 <stringProp name="fileEncoding">utf-8</stringProp>
29 <stringProp name="variableNames">HOST_API,HOST_SERVICE</stringProp> 29 <stringProp name="variableNames">HOST_API,HOST_SERVICE</stringProp>
@@ -32,22 +32,11 @@ @@ -32,22 +32,11 @@
32 <boolProp name="recycle">true</boolProp> 32 <boolProp name="recycle">true</boolProp>
33 <boolProp name="stopThread">false</boolProp> 33 <boolProp name="stopThread">false</boolProp>
34 <stringProp name="shareMode">shareMode.all</stringProp> 34 <stringProp name="shareMode">shareMode.all</stringProp>
35 - </CSVDataSet>  
36 - <hashTree/>  
37 - <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_uid_sku_edit_25w" enabled="true">  
38 - <stringProp name="TestPlan.comments"></stringProp>  
39 - <stringProp name="filename">/opt/jmeter/data/uid_sku_edit.csv</stringProp>  
40 - <stringProp name="fileEncoding">utf-8</stringProp>  
41 - <stringProp name="variableNames">uid_edit,address_id_edit,coupon_code_edit,sku_edit</stringProp>  
42 - <stringProp name="delimiter">,</stringProp>  
43 - <boolProp name="quotedData">false</boolProp>  
44 - <boolProp name="recycle">true</boolProp>  
45 - <boolProp name="stopThread">false</boolProp>  
46 - <stringProp name="shareMode">shareMode.all</stringProp> 35 + <boolProp name="ignoreFirstLine">false</boolProp>
47 </CSVDataSet> 36 </CSVDataSet>
48 <hashTree/> 37 <hashTree/>
49 <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_uid_sku_submit_25w" enabled="true"> 38 <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_uid_sku_submit_25w" enabled="true">
50 - <stringProp name="TestPlan.comments"></stringProp> 39 + <stringProp name="TestPlan.comments">/opt/jmeter/data/uid_sku_submit.csv</stringProp>
51 <stringProp name="filename">/opt/jmeter/data/uid_sku_submit.csv</stringProp> 40 <stringProp name="filename">/opt/jmeter/data/uid_sku_submit.csv</stringProp>
52 <stringProp name="fileEncoding">utf-8</stringProp> 41 <stringProp name="fileEncoding">utf-8</stringProp>
53 <stringProp name="variableNames">uid_submit,address_id_submit,coupon_code_submit,sku_submit</stringProp> 42 <stringProp name="variableNames">uid_submit,address_id_submit,coupon_code_submit,sku_submit</stringProp>
@@ -56,18 +45,7 @@ @@ -56,18 +45,7 @@
56 <boolProp name="recycle">true</boolProp> 45 <boolProp name="recycle">true</boolProp>
57 <boolProp name="stopThread">false</boolProp> 46 <boolProp name="stopThread">false</boolProp>
58 <stringProp name="shareMode">shareMode.all</stringProp> 47 <stringProp name="shareMode">shareMode.all</stringProp>
59 - </CSVDataSet>  
60 - <hashTree/>  
61 - <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_uid_couponId_20w" enabled="true">  
62 - <stringProp name="TestPlan.comments"></stringProp>  
63 - <stringProp name="filename">/opt/jmeter/data/uid_couponId.csv</stringProp>  
64 - <stringProp name="fileEncoding">utf-8</stringProp>  
65 - <stringProp name="variableNames">uid_coupon,couponId_coupon</stringProp>  
66 - <stringProp name="delimiter">,</stringProp>  
67 - <boolProp name="quotedData">false</boolProp>  
68 - <boolProp name="recycle">true</boolProp>  
69 - <boolProp name="stopThread">false</boolProp>  
70 - <stringProp name="shareMode">shareMode.all</stringProp> 48 + <boolProp name="ignoreFirstLine">false</boolProp>
71 </CSVDataSet> 49 </CSVDataSet>
72 <hashTree/> 50 <hashTree/>
73 <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_payNotify" enabled="true"> 51 <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_payNotify" enabled="true">
@@ -83,14 +61,8 @@ @@ -83,14 +61,8 @@
83 <boolProp name="ThreadGroup.scheduler">false</boolProp> 61 <boolProp name="ThreadGroup.scheduler">false</boolProp>
84 <stringProp name="ThreadGroup.duration"></stringProp> 62 <stringProp name="ThreadGroup.duration"></stringProp>
85 <stringProp name="ThreadGroup.delay"></stringProp> 63 <stringProp name="ThreadGroup.delay"></stringProp>
86 - <stringProp name="TestPlan.comments"></stringProp>  
87 </ThreadGroup> 64 </ThreadGroup>
88 <hashTree> 65 <hashTree>
89 -<TransactionController guiclass="TransactionControllerGui" testclass="TransactionController" testname="tc_payNotify" enabled="true">  
90 - <boolProp name="TransactionController.includeTimers">false</boolProp>  
91 - <boolProp name="TransactionController.parent">false</boolProp>  
92 - </TransactionController>  
93 - <hashTree>  
94 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_Shopping_add_submit" enabled="true"> 66 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_Shopping_add_submit" enabled="true">
95 <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> 67 <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
96 <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> 68 <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
@@ -104,8 +76,6 @@ @@ -104,8 +76,6 @@
104 </elementProp> 76 </elementProp>
105 <stringProp name="HTTPSampler.domain"></stringProp> 77 <stringProp name="HTTPSampler.domain"></stringProp>
106 <stringProp name="HTTPSampler.port"></stringProp> 78 <stringProp name="HTTPSampler.port"></stringProp>
107 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
108 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
109 <stringProp name="HTTPSampler.protocol"></stringProp> 79 <stringProp name="HTTPSampler.protocol"></stringProp>
110 <stringProp name="HTTPSampler.contentEncoding"></stringProp> 80 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
111 <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> 81 <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>
@@ -114,13 +84,12 @@ @@ -114,13 +84,12 @@
114 <boolProp name="HTTPSampler.auto_redirects">false</boolProp> 84 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
115 <boolProp name="HTTPSampler.use_keepalive">true</boolProp> 85 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
116 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> 86 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
117 - <boolProp name="HTTPSampler.monitor">false</boolProp>  
118 <stringProp name="HTTPSampler.embedded_url_re"></stringProp> 87 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
119 - <stringProp name="TestPlan.comments"></stringProp> 88 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  89 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
120 </HTTPSamplerProxy> 90 </HTTPSamplerProxy>
121 <hashTree> 91 <hashTree>
122 - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">  
123 - <stringProp name="TestPlan.comments"></stringProp> 92 + <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true">
124 <boolProp name="resetInterpreter">false</boolProp> 93 <boolProp name="resetInterpreter">false</boolProp>
125 <stringProp name="parameters">${sku_submit} ${uid_submit}</stringProp> 94 <stringProp name="parameters">${sku_submit} ${uid_submit}</stringProp>
126 <stringProp name="filename"></stringProp> 95 <stringProp name="filename"></stringProp>
@@ -151,18 +120,17 @@ req = &quot;app_version=5.8.0&amp;buy_number=1&amp;client_type=&quot;+clientType @@ -151,18 +120,17 @@ req = &quot;app_version=5.8.0&amp;buy_number=1&amp;client_type=&quot;+clientType
151 vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp> 120 vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>
152 </BeanShellPreProcessor> 121 </BeanShellPreProcessor>
153 <hashTree/> 122 <hashTree/>
154 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true"> 123 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
155 <collectionProp name="Asserion.test_strings"> 124 <collectionProp name="Asserion.test_strings">
156 - <stringProp name="1450572480">&quot;code&quot;:200</stringProp> 125 + <stringProp name="723337899">&quot;code&quot;:200</stringProp>
157 </collectionProp> 126 </collectionProp>
158 - <stringProp name="TestPlan.comments"></stringProp>  
159 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> 127 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
160 <boolProp name="Assertion.assume_success">false</boolProp> 128 <boolProp name="Assertion.assume_success">false</boolProp>
161 <intProp name="Assertion.test_type">16</intProp> 129 <intProp name="Assertion.test_type">16</intProp>
162 </ResponseAssertion> 130 </ResponseAssertion>
163 <hashTree/> 131 <hashTree/>
164 </hashTree> 132 </hashTree>
165 - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_Shopping_payment" enabled="true"> 133 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_Shopping_payment" enabled="false">
166 <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> 134 <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
167 <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> 135 <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
168 <collectionProp name="Arguments.arguments"> 136 <collectionProp name="Arguments.arguments">
@@ -175,8 +143,6 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -175,8 +143,6 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
175 </elementProp> 143 </elementProp>
176 <stringProp name="HTTPSampler.domain"></stringProp> 144 <stringProp name="HTTPSampler.domain"></stringProp>
177 <stringProp name="HTTPSampler.port"></stringProp> 145 <stringProp name="HTTPSampler.port"></stringProp>
178 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
179 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
180 <stringProp name="HTTPSampler.protocol"></stringProp> 146 <stringProp name="HTTPSampler.protocol"></stringProp>
181 <stringProp name="HTTPSampler.contentEncoding"></stringProp> 147 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
182 <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> 148 <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>
@@ -185,15 +151,15 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -185,15 +151,15 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
185 <boolProp name="HTTPSampler.auto_redirects">false</boolProp> 151 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
186 <boolProp name="HTTPSampler.use_keepalive">true</boolProp> 152 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
187 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> 153 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
188 - <boolProp name="HTTPSampler.monitor">false</boolProp>  
189 <stringProp name="HTTPSampler.embedded_url_re"></stringProp> 154 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
190 - <stringProp name="TestPlan.comments">&#32467;&#31639;</stringProp> 155 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  156 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  157 + <stringProp name="TestPlan.comments">结算</stringProp>
191 </HTTPSamplerProxy> 158 </HTTPSamplerProxy>
192 <hashTree> 159 <hashTree>
193 - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">  
194 - <stringProp name="TestPlan.comments"></stringProp> 160 + <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true">
195 <boolProp name="resetInterpreter">false</boolProp> 161 <boolProp name="resetInterpreter">false</boolProp>
196 - <stringProp name="parameters">${SNCP} ${uid_edit}</stringProp> 162 + <stringProp name="parameters">${SNCP} ${uid_submit}</stringProp>
197 <stringProp name="filename"></stringProp> 163 <stringProp name="filename"></stringProp>
198 <stringProp name="script">import java.security.MessageDigest; 164 <stringProp name="script">import java.security.MessageDigest;
199 import java.util.Random; 165 import java.util.Random;
@@ -222,18 +188,17 @@ req = &quot;_sncp=&quot;+bsh.args[0]+&quot;&amp;app_version=5.9.0&amp;cart_type= @@ -222,18 +188,17 @@ req = &quot;_sncp=&quot;+bsh.args[0]+&quot;&amp;app_version=5.9.0&amp;cart_type=
222 vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp> 188 vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>
223 </BeanShellPreProcessor> 189 </BeanShellPreProcessor>
224 <hashTree/> 190 <hashTree/>
225 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true"> 191 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
226 <collectionProp name="Asserion.test_strings"> 192 <collectionProp name="Asserion.test_strings">
227 - <stringProp name="1450572480">&quot;code&quot;:200</stringProp> 193 + <stringProp name="723337899">&quot;code&quot;:200</stringProp>
228 </collectionProp> 194 </collectionProp>
229 - <stringProp name="TestPlan.comments"></stringProp>  
230 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> 195 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
231 <boolProp name="Assertion.assume_success">false</boolProp> 196 <boolProp name="Assertion.assume_success">false</boolProp>
232 <intProp name="Assertion.test_type">16</intProp> 197 <intProp name="Assertion.test_type">16</intProp>
233 </ResponseAssertion> 198 </ResponseAssertion>
234 <hashTree/> 199 <hashTree/>
235 </hashTree> 200 </hashTree>
236 - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_Shopping_compute" enabled="true"> 201 + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_Shopping_compute" enabled="false">
237 <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> 202 <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
238 <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> 203 <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
239 <collectionProp name="Arguments.arguments"> 204 <collectionProp name="Arguments.arguments">
@@ -246,8 +211,6 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -246,8 +211,6 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
246 </elementProp> 211 </elementProp>
247 <stringProp name="HTTPSampler.domain"></stringProp> 212 <stringProp name="HTTPSampler.domain"></stringProp>
248 <stringProp name="HTTPSampler.port"></stringProp> 213 <stringProp name="HTTPSampler.port"></stringProp>
249 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
250 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
251 <stringProp name="HTTPSampler.protocol"></stringProp> 214 <stringProp name="HTTPSampler.protocol"></stringProp>
252 <stringProp name="HTTPSampler.contentEncoding"></stringProp> 215 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
253 <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> 216 <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>
@@ -256,15 +219,15 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -256,15 +219,15 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
256 <boolProp name="HTTPSampler.auto_redirects">false</boolProp> 219 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
257 <boolProp name="HTTPSampler.use_keepalive">true</boolProp> 220 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
258 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> 221 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
259 - <boolProp name="HTTPSampler.monitor">false</boolProp>  
260 <stringProp name="HTTPSampler.embedded_url_re"></stringProp> 222 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
261 - <stringProp name="TestPlan.comments">&#35745;&#31639;</stringProp> 223 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  224 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  225 + <stringProp name="TestPlan.comments">计算</stringProp>
262 </HTTPSamplerProxy> 226 </HTTPSamplerProxy>
263 <hashTree> 227 <hashTree>
264 - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">  
265 - <stringProp name="TestPlan.comments"></stringProp> 228 + <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true">
266 <boolProp name="resetInterpreter">false</boolProp> 229 <boolProp name="resetInterpreter">false</boolProp>
267 - <stringProp name="parameters">${SNCP} ${coupon_code_edit} ${uid_edit}</stringProp> 230 + <stringProp name="parameters">${SNCP} ${uid_submit}</stringProp>
268 <stringProp name="filename"></stringProp> 231 <stringProp name="filename"></stringProp>
269 <stringProp name="script">import java.security.MessageDigest; 232 <stringProp name="script">import java.security.MessageDigest;
270 import java.util.Random; 233 import java.util.Random;
@@ -274,7 +237,7 @@ int rd = new Random().nextInt(2); @@ -274,7 +237,7 @@ int rd = new Random().nextInt(2);
274 String clientType = clientTypes[rd]; 237 String clientType = clientTypes[rd];
275 String privateKey = privateKeys[rd]; 238 String privateKey = privateKeys[rd];
276 String os_version = &quot;yohobuy:h5&quot;; 239 String os_version = &quot;yohobuy:h5&quot;;
277 -String req = &quot;_sncp=&quot;+bsh.args[0]+&quot;&amp;app_version=5.9.0&amp;cart_type=ordinary&amp;client_type=&quot;+clientType+&quot;&amp;coupon_code=&quot;+bsh.args[1]+&quot;&amp;delivery_way=2&amp;method=app.Shopping.compute&amp;os_version=&quot;+os_version+&quot;&amp;payment_type=2&amp;private_key=&quot;+privateKey+&quot;&amp;screen_size=720x1280&amp;session_key=00ed65eb36a474388df2fa2d6e97a8a5&amp;uid=&quot;+bsh.args[2]+&quot;&amp;use_yoho_coin=0&amp;v=7&quot;; 240 +String req = &quot;_sncp=&quot;+bsh.args[0]+&quot;&amp;app_version=5.9.0&amp;cart_type=ordinary&amp;client_type=&quot;+clientType+&quot;&amp;coupon_code=0&amp;delivery_way=2&amp;method=app.Shopping.compute&amp;os_version=&quot;+os_version+&quot;&amp;payment_type=2&amp;private_key=&quot;+privateKey+&quot;&amp;screen_size=720x1280&amp;session_key=00ed65eb36a474388df2fa2d6e97a8a5&amp;uid=&quot;+bsh.args[1]+&quot;&amp;use_yoho_coin=0&amp;v=7&quot;;
278 MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;); 241 MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;);
279 byte[] btInput = req.getBytes(); 242 byte[] btInput = req.getBytes();
280 md.update(btInput); 243 md.update(btInput);
@@ -293,11 +256,10 @@ req = &quot;_sncp=&quot;+bsh.args[0]+&quot;&amp;app_version=5.9.0&amp;cart_type= @@ -293,11 +256,10 @@ req = &quot;_sncp=&quot;+bsh.args[0]+&quot;&amp;app_version=5.9.0&amp;cart_type=
293 vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp> 256 vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>
294 </BeanShellPreProcessor> 257 </BeanShellPreProcessor>
295 <hashTree/> 258 <hashTree/>
296 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true"> 259 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
297 <collectionProp name="Asserion.test_strings"> 260 <collectionProp name="Asserion.test_strings">
298 - <stringProp name="1450572480">&quot;code&quot;:200</stringProp> 261 + <stringProp name="723337899">&quot;code&quot;:200</stringProp>
299 </collectionProp> 262 </collectionProp>
300 - <stringProp name="TestPlan.comments"></stringProp>  
301 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> 263 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
302 <boolProp name="Assertion.assume_success">false</boolProp> 264 <boolProp name="Assertion.assume_success">false</boolProp>
303 <intProp name="Assertion.test_type">16</intProp> 265 <intProp name="Assertion.test_type">16</intProp>
@@ -317,8 +279,6 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -317,8 +279,6 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
317 </elementProp> 279 </elementProp>
318 <stringProp name="HTTPSampler.domain"></stringProp> 280 <stringProp name="HTTPSampler.domain"></stringProp>
319 <stringProp name="HTTPSampler.port"></stringProp> 281 <stringProp name="HTTPSampler.port"></stringProp>
320 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
321 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
322 <stringProp name="HTTPSampler.protocol"></stringProp> 282 <stringProp name="HTTPSampler.protocol"></stringProp>
323 <stringProp name="HTTPSampler.contentEncoding"></stringProp> 283 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
324 <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> 284 <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>
@@ -327,13 +287,13 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -327,13 +287,13 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
327 <boolProp name="HTTPSampler.auto_redirects">false</boolProp> 287 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
328 <boolProp name="HTTPSampler.use_keepalive">true</boolProp> 288 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
329 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> 289 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
330 - <boolProp name="HTTPSampler.monitor">false</boolProp>  
331 <stringProp name="HTTPSampler.embedded_url_re"></stringProp> 290 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
332 - <stringProp name="TestPlan.comments">&#25552;&#20132;&#35746;&#21333;</stringProp> 291 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  292 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
  293 + <stringProp name="TestPlan.comments">提交订单</stringProp>
333 </HTTPSamplerProxy> 294 </HTTPSamplerProxy>
334 <hashTree> 295 <hashTree>
335 - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">  
336 - <stringProp name="TestPlan.comments"></stringProp> 296 + <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true">
337 <boolProp name="resetInterpreter">false</boolProp> 297 <boolProp name="resetInterpreter">false</boolProp>
338 <stringProp name="parameters">${SNCP} ${address_id_submit} ${uid_submit}</stringProp> 298 <stringProp name="parameters">${SNCP} ${address_id_submit} ${uid_submit}</stringProp>
339 <stringProp name="filename"></stringProp> 299 <stringProp name="filename"></stringProp>
@@ -364,72 +324,6 @@ req = &quot;_sncp=&quot;+bsh.args[0]+&quot;&amp;address_id=&quot;+bsh.args[1]+&q @@ -364,72 +324,6 @@ req = &quot;_sncp=&quot;+bsh.args[0]+&quot;&amp;address_id=&quot;+bsh.args[1]+&q
364 vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp> 324 vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>
365 </BeanShellPreProcessor> 325 </BeanShellPreProcessor>
366 <hashTree/> 326 <hashTree/>
367 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true">  
368 - <collectionProp name="Asserion.test_strings">  
369 - <stringProp name="1450572480">&quot;code&quot;:200</stringProp>  
370 - </collectionProp>  
371 - <stringProp name="TestPlan.comments"></stringProp>  
372 - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>  
373 - <boolProp name="Assertion.assume_success">false</boolProp>  
374 - <intProp name="Assertion.test_type">16</intProp>  
375 - </ResponseAssertion>  
376 - <hashTree/>  
377 - </hashTree>  
378 -<OnceOnlyController guiclass="OnceOnlyControllerGui" testclass="OnceOnlyController" testname="登录一次" enabled="true"/>  
379 - <hashTree>  
380 - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pc_first" enabled="true">  
381 - <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel" testclass="Arguments" testname="用户定义的变量" enabled="true">  
382 - <collectionProp name="Arguments.arguments"/>  
383 - </elementProp>  
384 - <stringProp name="HTTPSampler.domain"></stringProp>  
385 - <stringProp name="HTTPSampler.port"></stringProp>  
386 - <stringProp name="HTTPSampler.protocol"></stringProp>  
387 - <stringProp name="HTTPSampler.contentEncoding"></stringProp>  
388 - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/signin.html</stringProp>  
389 - <stringProp name="HTTPSampler.method">GET</stringProp>  
390 - <boolProp name="HTTPSampler.follow_redirects">true</boolProp>  
391 - <boolProp name="HTTPSampler.auto_redirects">false</boolProp>  
392 - <boolProp name="HTTPSampler.use_keepalive">true</boolProp>  
393 - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>  
394 - <stringProp name="HTTPSampler.embedded_url_re"></stringProp>  
395 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
396 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
397 - </HTTPSamplerProxy>  
398 - <hashTree>  
399 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">  
400 - <collectionProp name="Asserion.test_strings"/>  
401 - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>  
402 - <boolProp name="Assertion.assume_success">false</boolProp>  
403 - <intProp name="Assertion.test_type">16</intProp>  
404 - </ResponseAssertion>  
405 - <hashTree/>  
406 - </hashTree>  
407 - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="pc_login" enabled="true">  
408 - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>  
409 - <elementProp name="HTTPsampler.Arguments" elementType="Arguments">  
410 - <collectionProp name="Arguments.arguments">  
411 - <elementProp name="" elementType="HTTPArgument">  
412 - <boolProp name="HTTPArgument.always_encode">false</boolProp>  
413 - <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>  
414 - <stringProp name="Argument.metadata">=</stringProp>  
415 - </elementProp>  
416 - </collectionProp>  
417 - </elementProp>  
418 - <stringProp name="HTTPSampler.domain"></stringProp>  
419 - <stringProp name="HTTPSampler.port"></stringProp>  
420 - <stringProp name="HTTPSampler.protocol"></stringProp>  
421 - <stringProp name="HTTPSampler.contentEncoding"></stringProp>  
422 - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/passport/login/auth</stringProp>  
423 - <stringProp name="HTTPSampler.method">POST</stringProp>  
424 - <boolProp name="HTTPSampler.follow_redirects">true</boolProp>  
425 - <boolProp name="HTTPSampler.auto_redirects">false</boolProp>  
426 - <boolProp name="HTTPSampler.use_keepalive">true</boolProp>  
427 - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>  
428 - <stringProp name="HTTPSampler.embedded_url_re"></stringProp>  
429 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
430 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
431 - </HTTPSamplerProxy>  
432 - <hashTree>  
433 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> 327 <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
434 <collectionProp name="Asserion.test_strings"> 328 <collectionProp name="Asserion.test_strings">
435 <stringProp name="723337899">&quot;code&quot;:200</stringProp> 329 <stringProp name="723337899">&quot;code&quot;:200</stringProp>
@@ -439,27 +333,34 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -439,27 +333,34 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
439 <intProp name="Assertion.test_type">16</intProp> 333 <intProp name="Assertion.test_type">16</intProp>
440 </ResponseAssertion> 334 </ResponseAssertion>
441 <hashTree/> 335 <hashTree/>
  336 + <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
  337 + <stringProp name="JSONPostProcessor.referenceNames">order_code</stringProp>
  338 + <stringProp name="JSONPostProcessor.jsonPathExprs">$.data.order_code</stringProp>
  339 + <stringProp name="JSONPostProcessor.match_numbers">1</stringProp>
  340 + <stringProp name="JSONPostProcessor.defaultValues">0</stringProp>
  341 + </JSONPostProcessor>
  342 + <hashTree/>
  343 + <JSONPostProcessor guiclass="JSONPostProcessorGui" testclass="JSONPostProcessor" testname="JSON Extractor" enabled="true">
  344 + <stringProp name="JSONPostProcessor.referenceNames">order_amount</stringProp>
  345 + <stringProp name="JSONPostProcessor.jsonPathExprs">$.data.order_amount</stringProp>
  346 + <stringProp name="JSONPostProcessor.match_numbers">1</stringProp>
  347 + <stringProp name="JSONPostProcessor.defaultValues">0</stringProp>
  348 + </JSONPostProcessor>
  349 + <hashTree/>
442 </hashTree> 350 </hashTree>
443 - </hashTree>  
444 - <com.blazemeter.jmeter.controller.ParallelSampler guiclass="com.blazemeter.jmeter.controller.ParallelControllerGui" testclass="com.blazemeter.jmeter.controller.ParallelSampler" testname="bzm - Parallel Controller" enabled="true">  
445 - <boolProp name="PARENT_SAMPLE">false</boolProp>  
446 - </com.blazemeter.jmeter.controller.ParallelSampler>  
447 - <hashTree>  
448 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_alipay_notify" enabled="true"> 351 <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_alipay_notify" enabled="true">
449 <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> 352 <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>
450 <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> 353 <elementProp name="HTTPsampler.Arguments" elementType="Arguments">
451 <collectionProp name="Arguments.arguments"> 354 <collectionProp name="Arguments.arguments">
452 <elementProp name="" elementType="HTTPArgument"> 355 <elementProp name="" elementType="HTTPArgument">
453 <boolProp name="HTTPArgument.always_encode">false</boolProp> 356 <boolProp name="HTTPArgument.always_encode">false</boolProp>
454 - <stringProp name="Argument.value">gmt_create=2017-09-19 09:37:44&amp;buyer_email=312253929@qq.com&amp;notify_time=2017-09-19 09:37:44&amp;gmt_payment=2017-09-19 09:37:48&amp;seller_email=zfb@yoho.cn&amp;quantity=1&amp;subject=&#26377;&#36135;&#35746;&#21333;-1767888334&amp;use_coupon=N&amp;sign=IAt9QV7/BiK+TVmaHxNg6xBMkY+0ijd8JHEELRbUY4b62cLPVXWgvzNmG4JshFJP7MksuQnt8QAMkw27nWrKCx/jxqyPemLa6hloZ8ZBRWIyhaXxRedYKI4ql6qRBiw1TpE9SV/I3tbMFPtU1QtvqSmYBIUYQzq8MBkALcPQwIY=&amp;discount=0.00&amp;body=&#26377;&#36135;&#35746;&#21333;-1767888334&amp;buyer_id=2088002633399764&amp;notify_id=43c98d35ec047a8a9ae1e24e162576elv6&amp;notify_type=trade_status_sync&amp;payment_type=1&amp;out_trade_no=1767888334&amp;price=336.00&amp;trade_status=TRADE_SUCCESS&amp;total_fee=336.00&amp;trade_no=2017091821001001290232678488&amp;sign_type=RSA&amp;seller_id=2088701661478015&amp;is_total_fee_adjust=N</stringProp> 357 + <stringProp name="Argument.value">gmt_create=${__time(yyyy-MM-dd HH:mm:ss,)}&amp;buyer_email=312253929@qq.com&amp;notify_time=${__time(yyyy-MM-dd HH:mm:ss,)}&amp;gmt_payment=${__time(yyyy-MM-dd HH:mm:ss,)}&amp;seller_email=zfb@yoho.cn&amp;quantity=1&amp;subject=有货订单-${order_code}&amp;use_coupon=N&amp;sign=IAt9QV7/BiK+TVmaHxNg6xBMkY+0ijd8JHEELRbUY4b62cLPVXWgvzNmG4JshFJP7MksuQnt8QAMkw27nWrKCx/jxqyPemLa6hloZ8ZBRWIyhaXxRedYKI4ql6qRBiw1TpE9SV/I3tbMFPtU1QtvqSmYBIUYQzq8MBkALcPQwIY=&amp;discount=0.00&amp;body=有货订单-${order_code}&amp;buyer_id=2088002633399764&amp;notify_id=43c98d35ec047a8a9ae1e24e162576elv6&amp;notify_type=trade_status_sync&amp;payment_type=1&amp;out_trade_no=${order_code}&amp;price=${order_amount}.00&amp;trade_status=TRADE_SUCCESS&amp;total_fee=${order_amount}.00&amp;trade_no=2017091821001001290232678488&amp;sign_type=RSA&amp;seller_id=2088701661478015&amp;is_total_fee_adjust=N</stringProp>
455 <stringProp name="Argument.metadata">=</stringProp> 358 <stringProp name="Argument.metadata">=</stringProp>
456 </elementProp> 359 </elementProp>
457 </collectionProp> 360 </collectionProp>
458 </elementProp> 361 </elementProp>
459 <stringProp name="HTTPSampler.domain"></stringProp> 362 <stringProp name="HTTPSampler.domain"></stringProp>
460 <stringProp name="HTTPSampler.port"></stringProp> 363 <stringProp name="HTTPSampler.port"></stringProp>
461 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
462 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
463 <stringProp name="HTTPSampler.protocol"></stringProp> 364 <stringProp name="HTTPSampler.protocol"></stringProp>
464 <stringProp name="HTTPSampler.contentEncoding"></stringProp> 365 <stringProp name="HTTPSampler.contentEncoding"></stringProp>
465 <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/payment/alipay_notify/</stringProp> 366 <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/payment/alipay_notify/</stringProp>
@@ -468,29 +369,25 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -468,29 +369,25 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
468 <boolProp name="HTTPSampler.auto_redirects">false</boolProp> 369 <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
469 <boolProp name="HTTPSampler.use_keepalive">true</boolProp> 370 <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
470 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> 371 <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
471 - <boolProp name="HTTPSampler.monitor">false</boolProp>  
472 <stringProp name="HTTPSampler.embedded_url_re"></stringProp> 372 <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
473 - <stringProp name="TestPlan.comments"></stringProp> 373 + <stringProp name="HTTPSampler.connect_timeout"></stringProp>
  374 + <stringProp name="HTTPSampler.response_timeout"></stringProp>
474 </HTTPSamplerProxy> 375 </HTTPSamplerProxy>
475 <hashTree> 376 <hashTree>
476 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true"> 377 + <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true">
477 <collectionProp name="Asserion.test_strings"> 378 <collectionProp name="Asserion.test_strings">
478 - <stringProp name="1450572480">&quot;code&quot;:200</stringProp> 379 + <stringProp name="-1867169789">success</stringProp>
479 </collectionProp> 380 </collectionProp>
480 - <stringProp name="TestPlan.comments"></stringProp>  
481 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> 381 <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>
482 <boolProp name="Assertion.assume_success">false</boolProp> 382 <boolProp name="Assertion.assume_success">false</boolProp>
483 <intProp name="Assertion.test_type">16</intProp> 383 <intProp name="Assertion.test_type">16</intProp>
484 </ResponseAssertion> 384 </ResponseAssertion>
485 <hashTree/> 385 <hashTree/>
486 </hashTree> 386 </hashTree>
487 - </hashTree>  
488 -</hashTree>  
489 - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="&#22266;&#23450;TPM" enabled="true">  
490 - <stringProp name="TestPlan.comments"></stringProp> 387 + <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true">
491 <doubleProp> 388 <doubleProp>
492 <name>throughput</name> 389 <name>throughput</name>
493 - <value>300000</value> 390 + <value>180000.0</value>
494 <savedValue>0.0</savedValue> 391 <savedValue>0.0</savedValue>
495 </doubleProp> 392 </doubleProp>
496 <intProp name="calcMode">2</intProp> 393 <intProp name="calcMode">2</intProp>
@@ -543,8 +440,48 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -543,8 +440,48 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
543 </collectionProp> 440 </collectionProp>
544 </elementProp> 441 </elementProp>
545 <stringProp name="classname">org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient</stringProp> 442 <stringProp name="classname">org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient</stringProp>
546 - <stringProp name="TestPlan.comments"></stringProp>  
547 </BackendListener> 443 </BackendListener>
548 - <hashTree/> </hashTree> 444 + <hashTree/>
  445 + <ResultCollector guiclass="ViewResultsFullVisualizer" testclass="ResultCollector" testname="察看结果树" enabled="false">
  446 + <boolProp name="ResultCollector.error_logging">false</boolProp>
  447 + <objProp>
  448 + <name>saveConfig</name>
  449 + <value class="SampleSaveConfiguration">
  450 + <time>true</time>
  451 + <latency>true</latency>
  452 + <timestamp>true</timestamp>
  453 + <success>true</success>
  454 + <label>true</label>
  455 + <code>true</code>
  456 + <message>true</message>
  457 + <threadName>true</threadName>
  458 + <dataType>true</dataType>
  459 + <encoding>false</encoding>
  460 + <assertions>true</assertions>
  461 + <subresults>true</subresults>
  462 + <responseData>false</responseData>
  463 + <samplerData>false</samplerData>
  464 + <xml>false</xml>
  465 + <fieldNames>true</fieldNames>
  466 + <responseHeaders>false</responseHeaders>
  467 + <requestHeaders>false</requestHeaders>
  468 + <responseDataOnError>false</responseDataOnError>
  469 + <saveAssertionResultsFailureMessage>true</saveAssertionResultsFailureMessage>
  470 + <assertionsResultsToSave>0</assertionsResultsToSave>
  471 + <bytes>true</bytes>
  472 + <sentBytes>true</sentBytes>
  473 + <threadCounts>true</threadCounts>
  474 + <idleTime>true</idleTime>
  475 + <connectTime>true</connectTime>
  476 + </value>
  477 + </objProp>
  478 + <stringProp name="filename"></stringProp>
  479 + </ResultCollector>
  480 + <hashTree/>
  481 + </hashTree>
  482 + <WorkBench guiclass="WorkBenchGui" testclass="WorkBench" testname="工作台" enabled="true">
  483 + <boolProp name="WorkBench.save">true</boolProp>
  484 + </WorkBench>
  485 + <hashTree/>
549 </hashTree> 486 </hashTree>
550 </jmeterTestPlan> 487 </jmeterTestPlan>