Authored by Rong

commit by shell

@@ -299,291 +299,6 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri @@ -299,291 +299,6 @@ vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stri
299 </ConstantThroughputTimer> 299 </ConstantThroughputTimer>
300 <hashTree/> 300 <hashTree/>
301 </hashTree> 301 </hashTree>
302 - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_passport_checkIsBindedOrRelated" enabled="true">  
303 - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>  
304 - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">  
305 - <boolProp name="LoopController.continue_forever">false</boolProp>  
306 - <intProp name="LoopController.loops">-1</intProp>  
307 - </elementProp>  
308 - <stringProp name="ThreadGroup.num_threads">80</stringProp>  
309 - <stringProp name="ThreadGroup.ramp_time">10</stringProp>  
310 - <longProp name="ThreadGroup.start_time">1488865571000</longProp>  
311 - <longProp name="ThreadGroup.end_time">1488865571000</longProp>  
312 - <boolProp name="ThreadGroup.scheduler">false</boolProp>  
313 - <stringProp name="ThreadGroup.duration"></stringProp>  
314 - <stringProp name="ThreadGroup.delay"></stringProp>  
315 - <stringProp name="TestPlan.comments">&#26816;&#27979;&#29992;&#25143;&#26159;&#21542;&#32465;&#23450;&#25163;&#26426;&#21495;&#65288;&#21487;&#30452;&#25509;&#38477;&#32423;&#65289;</stringProp>  
316 - </ThreadGroup>  
317 - <hashTree>  
318 - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_passport_checkIsBindedOrRelated" enabled="true">  
319 - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>  
320 - <elementProp name="HTTPsampler.Arguments" elementType="Arguments">  
321 - <collectionProp name="Arguments.arguments">  
322 - <elementProp name="" elementType="HTTPArgument">  
323 - <boolProp name="HTTPArgument.always_encode">false</boolProp>  
324 - <stringProp name="Argument.value"></stringProp>  
325 - <stringProp name="Argument.metadata">=</stringProp>  
326 - </elementProp>  
327 - </collectionProp>  
328 - </elementProp>  
329 - <stringProp name="HTTPSampler.domain"></stringProp>  
330 - <stringProp name="HTTPSampler.port"></stringProp>  
331 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
332 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
333 - <stringProp name="HTTPSampler.protocol"></stringProp>  
334 - <stringProp name="HTTPSampler.contentEncoding"></stringProp>  
335 - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>  
336 - <stringProp name="HTTPSampler.method">GET</stringProp>  
337 - <boolProp name="HTTPSampler.follow_redirects">true</boolProp>  
338 - <boolProp name="HTTPSampler.auto_redirects">false</boolProp>  
339 - <boolProp name="HTTPSampler.use_keepalive">true</boolProp>  
340 - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>  
341 - <boolProp name="HTTPSampler.monitor">false</boolProp>  
342 - <stringProp name="HTTPSampler.embedded_url_re"></stringProp>  
343 - <stringProp name="TestPlan.comments">&#26816;&#27979;&#29992;&#25143;&#26159;&#21542;&#32465;&#23450;&#25163;&#26426;&#21495;&#65288;&#21487;&#30452;&#25509;&#38477;&#32423;&#65289;</stringProp>  
344 - </HTTPSamplerProxy>  
345 - <hashTree>  
346 - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">  
347 - <stringProp name="TestPlan.comments"></stringProp>  
348 - <boolProp name="resetInterpreter">false</boolProp>  
349 - <stringProp name="parameters">${uid}</stringProp>  
350 - <stringProp name="filename"></stringProp>  
351 - <stringProp name="script">import java.security.MessageDigest;  
352 -import java.util.Random;  
353 -String[] clientTypes = {&quot;android&quot;};  
354 -String[] privateKeys = {&quot;fd4ad5fcfa0de589ef238c0e7331b585&quot;};  
355 -int rd = new Random().nextInt(1);  
356 -String clientType = clientTypes[rd];  
357 -String privateKey = privateKeys[rd];  
358 -String req = &quot;app_version=5.8.1&amp;client_type=&quot;+clientType+&quot;&amp;fromPage=aFP_My&amp;method=app.passport.checkIsBindedOrRelated&amp;os_version=10.3.2&amp;physical_channel=1&amp;private_key=&quot;+privateKey+&quot;&amp;screen_size=375x667&amp;session_key=d4464aa80683527ba1bc687cef8c7d8e&amp;udid=92ddf13bd3ec81b386bab705980f2bbae3cc3621&amp;uid=&quot;+bsh.args[0]+&quot;&amp;v=7&quot;;  
359 -MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;);  
360 -byte[] btInput = req.getBytes();  
361 -md.update(btInput);  
362 -byte[] btResult = md.digest();  
363 -StringBuffer sb = new StringBuffer();  
364 -for(byte b : btResult){  
365 - int bt = b&amp;0xff;  
366 - if(bt&lt;16){  
367 - sb.append(0);  
368 - }  
369 - sb.append(Integer.toHexString(bt));  
370 -}  
371 -String md5 = sb.toString();  
372 -vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>  
373 - </BeanShellPreProcessor>  
374 - <hashTree/>  
375 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true">  
376 - <collectionProp name="Asserion.test_strings">  
377 - <stringProp name="1450572480">&quot;code&quot;:200</stringProp>  
378 - </collectionProp>  
379 - <stringProp name="TestPlan.comments"></stringProp>  
380 - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>  
381 - <boolProp name="Assertion.assume_success">false</boolProp>  
382 - <intProp name="Assertion.test_type">16</intProp>  
383 - </ResponseAssertion>  
384 - <hashTree/>  
385 - </hashTree>  
386 - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="&#22266;&#23450;TPM" enabled="true">  
387 - <stringProp name="TestPlan.comments"></stringProp>  
388 - <doubleProp>  
389 - <name>throughput</name>  
390 - <value>120000</value>  
391 - <savedValue>0.0</savedValue>  
392 - </doubleProp>  
393 - <intProp name="calcMode">2</intProp>  
394 - </ConstantThroughputTimer>  
395 - <hashTree/>  
396 - </hashTree>  
397 - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_user_instalment_getStatus" enabled="true">  
398 - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>  
399 - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">  
400 - <boolProp name="LoopController.continue_forever">false</boolProp>  
401 - <intProp name="LoopController.loops">-1</intProp>  
402 - </elementProp>  
403 - <stringProp name="ThreadGroup.num_threads">80</stringProp>  
404 - <stringProp name="ThreadGroup.ramp_time">10</stringProp>  
405 - <longProp name="ThreadGroup.start_time">1488865571000</longProp>  
406 - <longProp name="ThreadGroup.end_time">1488865571000</longProp>  
407 - <boolProp name="ThreadGroup.scheduler">false</boolProp>  
408 - <stringProp name="ThreadGroup.duration"></stringProp>  
409 - <stringProp name="ThreadGroup.delay"></stringProp>  
410 - <stringProp name="TestPlan.comments">&#33719;&#21462;&#29992;&#25143;&#20998;&#26399;&#29366;&#24577;</stringProp>  
411 - </ThreadGroup>  
412 - <hashTree>  
413 - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_user_instalment_getStatus" enabled="true">  
414 - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>  
415 - <elementProp name="HTTPsampler.Arguments" elementType="Arguments">  
416 - <collectionProp name="Arguments.arguments">  
417 - <elementProp name="" elementType="HTTPArgument">  
418 - <boolProp name="HTTPArgument.always_encode">false</boolProp>  
419 - <stringProp name="Argument.value"></stringProp>  
420 - <stringProp name="Argument.metadata">=</stringProp>  
421 - </elementProp>  
422 - </collectionProp>  
423 - </elementProp>  
424 - <stringProp name="HTTPSampler.domain"></stringProp>  
425 - <stringProp name="HTTPSampler.port"></stringProp>  
426 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
427 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
428 - <stringProp name="HTTPSampler.protocol"></stringProp>  
429 - <stringProp name="HTTPSampler.contentEncoding"></stringProp>  
430 - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>  
431 - <stringProp name="HTTPSampler.method">GET</stringProp>  
432 - <boolProp name="HTTPSampler.follow_redirects">true</boolProp>  
433 - <boolProp name="HTTPSampler.auto_redirects">false</boolProp>  
434 - <boolProp name="HTTPSampler.use_keepalive">true</boolProp>  
435 - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>  
436 - <boolProp name="HTTPSampler.monitor">false</boolProp>  
437 - <stringProp name="HTTPSampler.embedded_url_re"></stringProp>  
438 - <stringProp name="TestPlan.comments">&#33719;&#21462;&#29992;&#25143;&#20998;&#26399;&#29366;&#24577;</stringProp>  
439 - </HTTPSamplerProxy>  
440 - <hashTree>  
441 - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">  
442 - <stringProp name="TestPlan.comments"></stringProp>  
443 - <boolProp name="resetInterpreter">false</boolProp>  
444 - <stringProp name="parameters">${uid}</stringProp>  
445 - <stringProp name="filename"></stringProp>  
446 - <stringProp name="script">import java.security.MessageDigest;  
447 -import java.util.Random;  
448 -String[] clientTypes = {&quot;android&quot;};  
449 -String[] privateKeys = {&quot;fd4ad5fcfa0de589ef238c0e7331b585&quot;};  
450 -int rd = new Random().nextInt(1);  
451 -String clientType = clientTypes[rd];  
452 -String privateKey = privateKeys[rd];  
453 -String req = &quot;app_version=5.8.1&amp;client_type=&quot;+clientType+&quot;&amp;method=user.instalment.getStatus&amp;os_version=yohobuy:h5&amp;private_key=&quot;+privateKey+&quot;&amp;screen_size=720x1280&amp;session_key=2920b832c8ad6f81fb2eec4103a29b47&amp;session_type=android&amp;uid=&quot;+bsh.args[0]+&quot;&amp;v=7&quot;;  
454 -MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;);  
455 -byte[] btInput = req.getBytes();  
456 -md.update(btInput);  
457 -byte[] btResult = md.digest();  
458 -StringBuffer sb = new StringBuffer();  
459 -for(byte b : btResult){  
460 - int bt = b&amp;0xff;  
461 - if(bt&lt;16){  
462 - sb.append(0);  
463 - }  
464 - sb.append(Integer.toHexString(bt));  
465 -}  
466 -String md5 = sb.toString();  
467 -vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>  
468 - </BeanShellPreProcessor>  
469 - <hashTree/>  
470 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true">  
471 - <collectionProp name="Asserion.test_strings">  
472 - <stringProp name="1450572480">&quot;code&quot;:200</stringProp>  
473 - </collectionProp>  
474 - <stringProp name="TestPlan.comments"></stringProp>  
475 - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>  
476 - <boolProp name="Assertion.assume_success">false</boolProp>  
477 - <intProp name="Assertion.test_type">16</intProp>  
478 - </ResponseAssertion>  
479 - <hashTree/>  
480 - </hashTree>  
481 - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="&#22266;&#23450;TPM" enabled="true">  
482 - <stringProp name="TestPlan.comments"></stringProp>  
483 - <doubleProp>  
484 - <name>throughput</name>  
485 - <value>120000</value>  
486 - <savedValue>0.0</savedValue>  
487 - </doubleProp>  
488 - <intProp name="calcMode">2</intProp>  
489 - </ConstantThroughputTimer>  
490 - <hashTree/>  
491 - </hashTree>  
492 - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_coupons_queryUserCouponRemind" enabled="true">  
493 - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>  
494 - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true">  
495 - <boolProp name="LoopController.continue_forever">false</boolProp>  
496 - <intProp name="LoopController.loops">-1</intProp>  
497 - </elementProp>  
498 - <stringProp name="ThreadGroup.num_threads">80</stringProp>  
499 - <stringProp name="ThreadGroup.ramp_time">10</stringProp>  
500 - <longProp name="ThreadGroup.start_time">1488865571000</longProp>  
501 - <longProp name="ThreadGroup.end_time">1488865571000</longProp>  
502 - <boolProp name="ThreadGroup.scheduler">false</boolProp>  
503 - <stringProp name="ThreadGroup.duration"></stringProp>  
504 - <stringProp name="ThreadGroup.delay"></stringProp>  
505 - <stringProp name="TestPlan.comments">&#26597;&#19979;&#29992;&#25143;&#21048;&#25552;&#37266;&#65288;&#21487;&#30452;&#25509;&#38477;&#32423;&#65289;</stringProp>  
506 - </ThreadGroup>  
507 - <hashTree>  
508 - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_coupons_queryUserCouponRemind" enabled="true">  
509 - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp>  
510 - <elementProp name="HTTPsampler.Arguments" elementType="Arguments">  
511 - <collectionProp name="Arguments.arguments">  
512 - <elementProp name="" elementType="HTTPArgument">  
513 - <boolProp name="HTTPArgument.always_encode">false</boolProp>  
514 - <stringProp name="Argument.value"></stringProp>  
515 - <stringProp name="Argument.metadata">=</stringProp>  
516 - </elementProp>  
517 - </collectionProp>  
518 - </elementProp>  
519 - <stringProp name="HTTPSampler.domain"></stringProp>  
520 - <stringProp name="HTTPSampler.port"></stringProp>  
521 - <stringProp name="HTTPSampler.connect_timeout"></stringProp>  
522 - <stringProp name="HTTPSampler.response_timeout"></stringProp>  
523 - <stringProp name="HTTPSampler.protocol"></stringProp>  
524 - <stringProp name="HTTPSampler.contentEncoding"></stringProp>  
525 - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp>  
526 - <stringProp name="HTTPSampler.method">GET</stringProp>  
527 - <boolProp name="HTTPSampler.follow_redirects">true</boolProp>  
528 - <boolProp name="HTTPSampler.auto_redirects">false</boolProp>  
529 - <boolProp name="HTTPSampler.use_keepalive">true</boolProp>  
530 - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>  
531 - <boolProp name="HTTPSampler.monitor">false</boolProp>  
532 - <stringProp name="HTTPSampler.embedded_url_re"></stringProp>  
533 - <stringProp name="TestPlan.comments">&#26597;&#19979;&#29992;&#25143;&#21048;&#25552;&#37266;&#65288;&#21487;&#30452;&#25509;&#38477;&#32423;&#65289;</stringProp>  
534 - </HTTPSamplerProxy>  
535 - <hashTree>  
536 - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="&#21069;&#32622;BeanShell" enabled="true">  
537 - <stringProp name="TestPlan.comments"></stringProp>  
538 - <boolProp name="resetInterpreter">false</boolProp>  
539 - <stringProp name="parameters">${uid}</stringProp>  
540 - <stringProp name="filename"></stringProp>  
541 - <stringProp name="script">import java.security.MessageDigest;  
542 -import java.util.Random;  
543 -String[] clientTypes = {&quot;android&quot;};  
544 -String[] privateKeys = {&quot;fd4ad5fcfa0de589ef238c0e7331b585&quot;};  
545 -int rd = new Random().nextInt(1);  
546 -String clientType = clientTypes[rd];  
547 -String privateKey = privateKeys[rd];  
548 -String req = &quot;app_version=5.8.1&amp;client_type=&quot;+clientType+&quot;&amp;fromPage=aFP_My&amp;gender=1,3&amp;method=app.coupons.queryUserCouponRemind&amp;os_version=android5.0.2:vivo_Y51A&amp;physical_channel=1&amp;private_key=&quot;+privateKey+&quot;&amp;screen_size=540x960&amp;session_key=91f5b3fc932aac5500d59b7ac307abc8&amp;udid=A100004E1A486Baf4770812e53076b&amp;uid=&quot;+bsh.args[0]+&quot;&amp;v=7&amp;yh_channel=1&quot;;  
549 -MessageDigest md = MessageDigest.getInstance(&quot;MD5&quot;);  
550 -byte[] btInput = req.getBytes();  
551 -md.update(btInput);  
552 -byte[] btResult = md.digest();  
553 -StringBuffer sb = new StringBuffer();  
554 -for(byte b : btResult){  
555 - int bt = b&amp;0xff;  
556 - if(bt&lt;16){  
557 - sb.append(0);  
558 - }  
559 - sb.append(Integer.toHexString(bt));  
560 -}  
561 -String md5 = sb.toString();  
562 -vars.put(&quot;searchValue&quot;,req+&quot;&amp;client_secret=&quot;+md5);</stringProp>  
563 - </BeanShellPreProcessor>  
564 - <hashTree/>  
565 - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="&#21709;&#24212;&#26029;&#35328;" enabled="true">  
566 - <collectionProp name="Asserion.test_strings">  
567 - <stringProp name="1450572480">&quot;code&quot;:200</stringProp>  
568 - </collectionProp>  
569 - <stringProp name="TestPlan.comments"></stringProp>  
570 - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp>  
571 - <boolProp name="Assertion.assume_success">false</boolProp>  
572 - <intProp name="Assertion.test_type">16</intProp>  
573 - </ResponseAssertion>  
574 - <hashTree/>  
575 - </hashTree>  
576 - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="&#22266;&#23450;TPM" enabled="true">  
577 - <stringProp name="TestPlan.comments"></stringProp>  
578 - <doubleProp>  
579 - <name>throughput</name>  
580 - <value>120000</value>  
581 - <savedValue>0.0</savedValue>  
582 - </doubleProp>  
583 - <intProp name="calcMode">2</intProp>  
584 - </ConstantThroughputTimer>  
585 - <hashTree/>  
586 - </hashTree>  
587 <BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="influxdb_master" enabled="true"> 302 <BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="influxdb_master" enabled="true">
588 <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true"> 303 <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
589 <collectionProp name="Arguments.arguments"> 304 <collectionProp name="Arguments.arguments">