From edbf3c0fb81c8abd25a85c963ff09d5db0ef556e Mon Sep 17 00:00:00 2001 From: Rong <rong.gao@yoho.cn> Date: Tue, 1 Aug 2017 15:54:20 +0800 Subject: [PATCH] commit by shell --- script/default/test.jmx | 1577 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1 file changed, 273 insertions(+), 1304 deletions(-) diff --git a/script/default/test.jmx b/script/default/test.jmx index fa0ad51..5a24792 100644 --- a/script/default/test.jmx +++ b/script/default/test.jmx @@ -27,16 +27,6 @@ </collectionProp> <stringProp name="TestPlan.comments"></stringProp> </Arguments> <hashTree/> - <Arguments guiclass="ArgumentsPanel" testclass="Arguments" testname="arguments_领券券号" enabled="true"> - <collectionProp name="Arguments.arguments"> - <elementProp name="COUPON_ID" elementType="Argument"> - <stringProp name="Argument.name">COUPON_ID</stringProp> - <stringProp name="Argument.value">0</stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> </Arguments> - <hashTree/> <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_uid_mobile_openid" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <stringProp name="filename">/opt/jmeter/data/uid_mobile_openid.csv</stringProp> @@ -49,11 +39,11 @@ <stringProp name="shareMode">shareMode.all</stringProp> </CSVDataSet> <hashTree/> - <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_hosts_pt" enabled="true"> + <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_商品for浏览" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="filename">/opt/jmeter/data/hosts_pt.csv</stringProp> + <stringProp name="filename">/opt/jmeter/data/product_10w.csv</stringProp> <stringProp name="fileEncoding">utf-8</stringProp> - <stringProp name="variableNames">HOST_API,HOST_SERVICE</stringProp> + <stringProp name="variableNames">product_skn</stringProp> <stringProp name="delimiter">,</stringProp> <boolProp name="quotedData">false</boolProp> <boolProp name="recycle">true</boolProp> @@ -61,11 +51,11 @@ <stringProp name="shareMode">shareMode.all</stringProp> </CSVDataSet> <hashTree/> - <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_商品for浏览" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="filename">/opt/jmeter/data/product_10w.csv</stringProp> + <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_品牌数据" enabled="true"> + <stringProp name="TestPlan.comments">品牌数据</stringProp> + <stringProp name="filename">/opt/jmeter/data/brand.csv</stringProp> <stringProp name="fileEncoding">utf-8</stringProp> - <stringProp name="variableNames">product_skn</stringProp> + <stringProp name="variableNames">brand_id</stringProp> <stringProp name="delimiter">,</stringProp> <boolProp name="quotedData">false</boolProp> <boolProp name="recycle">true</boolProp> @@ -73,11 +63,11 @@ <stringProp name="shareMode">shareMode.all</stringProp> </CSVDataSet> <hashTree/> - <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_品牌数据" enabled="true"> - <stringProp name="TestPlan.comments">品牌数据</stringProp> - <stringProp name="filename">/opt/jmeter/data/brand.csv</stringProp> + <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_领券数据" enabled="true"> + <stringProp name="TestPlan.comments"></stringProp> + <stringProp name="filename">/opt/jmeter/data/coupon.csv</stringProp> <stringProp name="fileEncoding">utf-8</stringProp> - <stringProp name="variableNames">brand_id</stringProp> + <stringProp name="variableNames">coupon_id</stringProp> <stringProp name="delimiter">,</stringProp> <boolProp name="quotedData">false</boolProp> <boolProp name="recycle">true</boolProp> @@ -109,7 +99,31 @@ <stringProp name="shareMode">shareMode.all</stringProp> </CSVDataSet> <hashTree/> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/v5/resource/home" enabled="true"> + <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_逛" enabled="true"> + <stringProp name="TestPlan.comments"></stringProp> + <stringProp name="filename">/opt/jmeter/data/guang.csv</stringProp> + <stringProp name="fileEncoding">utf-8</stringProp> + <stringProp name="variableNames">article_id,article_author_id,article_datetime</stringProp> + <stringProp name="delimiter">,</stringProp> + <boolProp name="quotedData">false</boolProp> + <boolProp name="recycle">true</boolProp> + <boolProp name="stopThread">false</boolProp> + <stringProp name="shareMode">shareMode.all</stringProp> + </CSVDataSet> + <hashTree/> + <CSVDataSet guiclass="TestBeanGUI" testclass="CSVDataSet" testname="data_订单" enabled="true"> + <stringProp name="TestPlan.comments"></stringProp> + <stringProp name="filename">/opt/jmeter/data/order_code_10w.csv</stringProp> + <stringProp name="fileEncoding">utf-8</stringProp> + <stringProp name="variableNames">order_code</stringProp> + <stringProp name="delimiter">,</stringProp> + <boolProp name="quotedData">false</boolProp> + <boolProp name="recycle">true</boolProp> + <boolProp name="stopThread">false</boolProp> + <stringProp name="shareMode">shareMode.all</stringProp> + </CSVDataSet> + <hashTree/> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_brand_allBrandList" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -122,10 +136,10 @@ <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">首页资源位</stringProp> + <stringProp name="TestPlan.comments">品牌列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/v5/resource/home" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_brand_allBrandList" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -142,7 +156,7 @@ <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/operations/api/v5/resource/home?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -150,7 +164,7 @@ <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">首页资源位</stringProp> + <stringProp name="TestPlan.comments">品牌列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -165,7 +179,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&content_code=201504091403001&fromPage=iFP_Home&gender=1,3&limit=100&os_version=10.2.1&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=8be620e2d951d49128232f8b4c392422&udid=380aebe1da2c72def222c78249f99ef08c18260a&uid="+bsh.args[0]+"&v=7&yh_channel=1"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_Brand&gender=1,3&method=app.brand.allBrandList&os_version=android7.0:PIC-AL00&physical_channel=1&private_key="+privateKey+"&screen_size=1080x1812&session_key=bc9949073990385d2cd1b64eefaea4c3&udid=8642740333827028839b86f80a96d1b&uid="+bsh.args[0]+"&v=7&yh_channel=1"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -204,7 +218,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/v5/resource/get" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_brand_getBrandIntro" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -217,10 +231,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取资源位</stringProp> + <stringProp name="TestPlan.comments">根据品牌ID获取品牌信息</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/v5/resource/get" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_brand_getBrandIntro" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -237,7 +251,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/operations/api/v5/resource/get?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -245,13 +259,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取资源位</stringProp> + <stringProp name="TestPlan.comments">根据品牌ID获取品牌信息</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${brand_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -260,7 +274,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&content_code=8526f2fefcd07c575016f3eaf310c8fe&fromPage=aFP_My&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=4d5fe679e37893c5f6eceb51833865d4&udid=ed432eab860c878a96fcb46f365a23417f3e6b55&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&brand_id="+bsh.args[0]+"&client_type="+clientType+"&fromPage=iFP_BrandProList&method=app.brand.getBrandIntro&os_version=10.0.2&physical_channel=2&private_key="+privateKey+"&screen_size=375x667&session_key=0789c8675a9583d36c445a3a85ad1dd9&udid=69f89cbd1ee7ce178ac3d211123af5249462e3c1&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -299,7 +313,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/v5/webshare/getShare" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_brand_banner" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -312,10 +326,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">WEB分享</stringProp> + <stringProp name="TestPlan.comments">根据品牌ID获取品牌的banner</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/v5/webshare/getShare" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_brand_banner" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -332,7 +346,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/operations/api/v5/webshare/getShare?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -340,13 +354,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">WEB分享</stringProp> + <stringProp name="TestPlan.comments">根据品牌ID获取品牌的banner</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${brand_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -355,7 +369,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&os_version=10.2.1&physical_channel=2&private_key="+privateKey+"&screen_size=414x736&session_key=14d56cb9d2fd8953297bafac5b764725&share_id=2415&udid=9c185a269c6f7f9202cd7b25bb2435056ac6a92e&uid="+bsh.args[0]+"&v=7&yh_channel=2"; +String req = "app_version=5.6.0&brand_id="+bsh.args[0]+"&client_type="+clientType+"&fromPage=iFP_BrandProList&method=app.brand.banner&os_version=10.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=fd8113d46aed40521c9d0f54a15f5665&udid=8a3849212e610a4b03aeb19481f050263887edab&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -394,7 +408,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/v4/icon/getIcon" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v1/attention/getlist" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -407,10 +421,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取首页小图标配置</stringProp> + <stringProp name="TestPlan.comments">分类里面的关注页列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/v4/icon/getIcon" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v1/attention/getlist" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -427,7 +441,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/operations/api/v4/icon/getIcon?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v1/attention/getlist?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -435,7 +449,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取首页小图标配置</stringProp> + <stringProp name="TestPlan.comments">分类里面的关注页列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -450,7 +464,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_Lanuch&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&udid=0bb4ec033080c1ac87602172eb0920311a70d45a&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.4.0&client_type="+clientType+"&fromPage=&gender=1,3&limit=10&os_version=android6.0.1:SM-C7000&page=1&physical_channel=2&private_key="+privateKey+"&screen_size=1080x1920&udid=9213f7324e57333c&uid="+bsh.args[0]+"&v=7&yh_channel=2"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -489,7 +503,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/v5/entrance/getEntrance" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v2/article/getList" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -502,10 +516,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">入口导航</stringProp> + <stringProp name="TestPlan.comments">逛的列表(pageCache)</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/v5/entrance/getEntrance" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v2/article/getList" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -522,7 +536,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/operations/api/v5/entrance/getEntrance?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v2/article/getList?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -530,7 +544,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">入口导航</stringProp> + <stringProp name="TestPlan.comments">逛的列表(pageCache)</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -545,7 +559,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.7.0&client_type="+clientType+"&fromPage=iFP_Gender&os_version=10.3.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&udid=155baae56a5ce7d9e7f9bf037a41a9e8fd766dda&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_GuangContainer&gender=1,3&limit=20&os_version=10.2.1&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=8be620e2d951d49128232f8b4c392422&sort_id=0&udid=380aebe1da2c72def222c78249f99ef08c18260a&uid="+bsh.args[0]+"&v=7&yh_channel=1"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -584,7 +598,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/v6/category/getCategory" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v2/article/getSimpleArticleList" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -597,10 +611,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">侧边栏导航</stringProp> + <stringProp name="TestPlan.comments">获取浏览数,点赞数等信息</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/v6/category/getCategory" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v2/article/getSimpleArticleList" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -617,7 +631,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/operations/api/v6/category/getCategory?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v2/article/getSimpleArticleList?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -625,13 +639,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">侧边栏导航</stringProp> + <stringProp name="TestPlan.comments">获取浏览数,点赞数等信息</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -640,7 +654,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&udid=6bde85c56740592cbe550ac4dc459d67680a8aef&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&articleIds="+bsh.args[0]+"&client_type="+clientType+"&fromPage=iFP_GuangContainer&gender=2,3&os_version=10.2.1&physical_channel=2&private_key="+privateKey+"&screen_size=375x667&session_key=aed364774108fa1b85bfb218f34c28c7&sortId=0&udid=7887164c6c98712ad1f214cacec3316f4aae4c51&uid="+bsh.args[1]+"&v=7&yh_channel=2"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -679,7 +693,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/v5/version/getVersion" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v2/article/getTopList" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -692,10 +706,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取APP版本升级提醒(需提供降级)</stringProp> + <stringProp name="TestPlan.comments">文章置顶</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/v5/version/getVersion" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v2/article/getTopList" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -712,7 +726,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/operations/api/v5/version/getVersion?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v2/article/getTopList?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -720,7 +734,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取APP版本升级提醒(需提供降级)</stringProp> + <stringProp name="TestPlan.comments">文章置顶</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -735,7 +749,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.7.0&client_type="+clientType+"&fromPage=iFP_Lanuch&os_version=10.3.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&udid=155baae56a5ce7d9e7f9bf037a41a9e8fd766dda&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_GuangContainer&gender=1,3&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=dbef84f3659c370fcd19de19e67a5556&udid=c383b9ed7696d2b31cf22685114a3a63eae58e95&uid="+bsh.args[0]+"&v=7&yh_channel=1"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -774,7 +788,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_cover_getCoverStart" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v2/article/getTagTop" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -787,10 +801,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取首页启动页</stringProp> + <stringProp name="TestPlan.comments">获取逛的热门标签(PC端)</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_cover_getCoverStart" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v2/article/getTagTop" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -807,7 +821,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v2/article/getTagTop?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -815,22 +829,22 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取首页启动页</stringProp> + <stringProp name="TestPlan.comments">获取逛的热门标签(PC端)</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters"></stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; +String[] clientTypes = {"web"}; +String[] privateKeys = {"0ed29744ed318fd28d2c07985d3ba633"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_Gender&method=app.cover.getCoverStart&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&type=iphone5&udid=6bde85c56740592cbe550ac4dc459d67680a8aef&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.0&client_type="+clientType+"&limit=20&os_version=yohobuy:web&page=4&private_key="+privateKey+"&screen_size=720x1280&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -869,7 +883,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_resources_getNotices" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v1/category/get" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -882,10 +896,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取文字公告(需提供降级)</stringProp> + <stringProp name="TestPlan.comments">获取逛下的分类列表(缓存时间延长)</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_resources_getNotices" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v1/category/get" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -902,7 +916,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v1/category/get?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -910,7 +924,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取文字公告(需提供降级)</stringProp> + <stringProp name="TestPlan.comments">获取逛下的分类列表(缓存时间延长)</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -925,7 +939,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=aFP_My&method=app.resources.getNotices&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=560c128a19e4c0c545c9be0464e04b94&udid=605211968c20393e88d68173609bdbfeff0af956&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_GuangMain&gender=1,3&os_version=10.2.1&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=8be620e2d951d49128232f8b4c392422&udid=380aebe1da2c72def222c78249f99ef08c18260a&uid="+bsh.args[0]+"&v=7&yh_channel=1"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -964,7 +978,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_resources_config_clientInitConfig" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/*/article/getArticleByViewsNum" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -977,10 +991,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">客户端初始化配置</stringProp> + <stringProp name="TestPlan.comments">获取48小时内浏览最多的文章(PC端)</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_resources_config_clientInitConfig" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/*/article/getArticleByViewsNum" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -997,7 +1011,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v2/article/getArticleByViewsNum?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1005,13 +1019,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">客户端初始化配置</stringProp> + <stringProp name="TestPlan.comments">获取48小时内浏览最多的文章(PC端)</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters"></stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1020,7 +1034,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=1.4.3&client_type="+clientType+"&method=app.resources.config.clientInitConfig&os_version=6.5.9&private_key="+privateKey+"&screen_size=375x555&session_key=&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.0&client_type="+clientType+"&gender=1,3&limit=10&os_version=yohobuy:web&page=1&private_key="+privateKey+"&screen_size=720x1280&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1059,7 +1073,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_resources_getOneSpecial" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/service/v2/article/getArticle" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1072,10 +1086,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取专区信息</stringProp> + <stringProp name="TestPlan.comments">根据文章id和客户端类型获得文章</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_resources_getOneSpecial" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/service/v2/article/getArticle" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1092,7 +1106,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/service/v2/article/getArticleContent?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1100,13 +1114,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取专区信息</stringProp> + <stringProp name="TestPlan.comments">根据文章id和客户端类型获得文章</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters"></stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1115,7 +1129,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.0&client_type="+clientType+"&method=app.resources.getOneSpecial&os_version=yohobuy:web&private_key="+privateKey+"&screen_size=720x1280&special_id=11&v=7"; +String req = "app_version=5.8.1&article_id="+bsh.args[0]+"&client_type="+clientType+"&os_version=10.1.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&udid=3a31d8b3f75a08c958747d41c4854673c669ef5f&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1154,7 +1168,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_passport_profile" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v2/article/getArticleBaseInfo" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1167,10 +1181,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取用户个人信息</stringProp> + <stringProp name="TestPlan.comments">获取文章内容详情</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_passport_profile" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v2/article/getArticleBaseInfo" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1187,7 +1201,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v2/article/getArticleBaseInfo?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1195,13 +1209,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取用户个人信息</stringProp> + <stringProp name="TestPlan.comments">获取文章内容详情</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1210,7 +1224,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "_sncp=NGJjYjhkNmwwZGM0OTk0YmQyMTMwZjlmoTZmzjY4cjN&app_version=5.8.1&client_type="+clientType+"&fromPage=aFP_My&method=app.passport.profile&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=e29f98f3b5b7c2beb6ceee9736281f29&udid=c35b27a1641e68261d2f8945575115836720676d&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_GuangDetail&id="+bsh.args[0]+"&os_version=10.1.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&udid=3a31d8b3f75a08c958747d41c4854673c669ef5f&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1249,7 +1263,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_passport_checkIsBindedOrRelated" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v1/article/getArticleNotice" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1262,10 +1276,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">检测用户是否绑定手机号(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">1</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_passport_checkIsBindedOrRelated" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v1/article/getArticleNotice" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1282,7 +1296,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v1/article/getArticleNotice?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1290,13 +1304,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">检测用户是否绑定手机号(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">1</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_datetime} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1305,7 +1319,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=aFP_My&method=app.passport.checkIsBindedOrRelated&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=d4464aa80683527ba1bc687cef8c7d8e&udid=92ddf13bd3ec81b386bab705980f2bbae3cc3621&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&datetime="+bsh.args[0]+"&fromPage=aFP_Root_Phone&gender=2,3&os_version=android6.0:BLN-AL10&physical_channel=2&private_key="+privateKey+"&screen_size=1080x1812&session_key=6471aeedc3b960d856b793789983d398&udid=863982030989458af245102e1b93ddd&uid="+bsh.args[1]+"&v=7&yh_channel=2"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1344,7 +1358,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_user_instalment_getStatus" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/*/article/getArticlePraiseAndFavor" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1357,10 +1371,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取用户分期状态</stringProp> + <stringProp name="TestPlan.comments">获取文章内容详情的点赞、收藏、浏览数(降级)</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_user_instalment_getStatus" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/*/article/getArticlePraiseAndFavor" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1377,7 +1391,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v2/article/getArticlePraiseAndFavor?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1385,13 +1399,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取用户分期状态</stringProp> + <stringProp name="TestPlan.comments">获取文章内容详情的点赞、收藏、浏览数(降级)</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1400,7 +1414,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&method=user.instalment.getStatus&os_version=yohobuy:h5&private_key="+privateKey+"&screen_size=720x1280&session_key=2920b832c8ad6f81fb2eec4103a29b47&session_type=android&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&id="+bsh.args[0]+"&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=37d73148be684c1424c353348f9cdc5a&udid=403b22e7c3749ffd84fff5e586f4f2c5e671520f&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1439,7 +1453,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_sort_get" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v1/share/guang" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1452,10 +1466,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">老版本获取分类接口</stringProp> + <stringProp name="TestPlan.comments">获取文章内容</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_sort_get" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v1/share/guang" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1472,7 +1486,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v1/share/guang?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1480,13 +1494,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">老版本获取分类接口</stringProp> + <stringProp name="TestPlan.comments">获取文章内容</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1495,7 +1509,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=aFP_Category&method=app.sort.get&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=c2483cef0e109a241557f9673932559d&udid=6bde85c56740592cbe550ac4dc459d67680a8aef&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&id="+bsh.args[0]+"&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=dbef84f3659c370fcd19de19e67a5556&udid=c383b9ed7696d2b31cf22685114a3a63eae58e95&uid="+bsh.args[1]+"&v=7&yh_channel=1"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1534,7 +1548,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_coupons_queryUserCouponRemind" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/service/*/article/getArticleContent" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1547,10 +1561,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">查下用户券提醒(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">根据文章id和客户端类型获取逛的详情内容</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_coupons_queryUserCouponRemind" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/service/*/article/getArticleContent" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1567,7 +1581,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/service/v2/article/getArticleContent?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1575,13 +1589,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">查下用户券提醒(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">根据文章id和客户端类型获取逛的详情内容</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1590,7 +1604,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=aFP_My&gender=1,3&method=app.coupons.queryUserCouponRemind&os_version=android5.0.2:vivo_Y51A&physical_channel=1&private_key="+privateKey+"&screen_size=540x960&session_key=91f5b3fc932aac5500d59b7ac307abc8&udid=A100004E1A486Baf4770812e53076b&uid="+bsh.args[0]+"&v=7&yh_channel=1"; +String req = "app_version=5.8.1&article_id="+bsh.args[0]+"&client_type="+clientType+"&os_version=10.1.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&udid=3a31d8b3f75a08c958747d41c4854673c669ef5f&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1629,7 +1643,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_recommend_popup" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/service/v2/article/getBrand" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1642,10 +1656,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">弹窗(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">进入文章详情页时,用于展示相关品牌</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_recommend_popup" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/service/v2/article/getBrand" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1662,7 +1676,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/service/v2/article/getBrand?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1670,13 +1684,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">弹窗(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">进入文章详情页时,用于展示相关品牌</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1685,7 +1699,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_Home&method=app.recommend.popup&os_version=10.0.2&physical_channel=1&private_key="+privateKey+"&rec_pos=100010&screen_size=414x736&session_key=7a4adc867325ac0636afd8b27b2e1f3c&udid=eb51e3553552194afe96700e1d69eb78fc32a442&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&article_id="+bsh.args[0]+"&client_type="+clientType+"&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=37d73148be684c1424c353348f9cdc5a&udid=403b22e7c3749ffd84fff5e586f4f2c5e671520f&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1724,7 +1738,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_Shopping_count" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v1/comments/getList" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1737,10 +1751,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">购物车数量</stringProp> + <stringProp name="TestPlan.comments">获取文章评论列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_Shopping_count" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v1/comments/getList" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1757,7 +1771,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v1/comments/getList?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1765,13 +1779,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">购物车数量</stringProp> + <stringProp name="TestPlan.comments">获取文章评论列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1780,7 +1794,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.9.0&client_type="+clientType+"&method=app.Shopping.count&os_version=yohobuy:h5&private_key="+privateKey+"&screen_size=720x1280&shopping_key=&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&article_id="+bsh.args[0]+"&client_type="+clientType+"&limit=10&os_version=10.1.1&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&udid=3a31d8b3f75a08c958747d41c4854673c669ef5f&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1819,7 +1833,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_sort_fromBigData" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/service/v2/article/getOtherArticle" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1832,10 +1846,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">分类列表大数据</stringProp> + <stringProp name="TestPlan.comments">进入文章详情页时,用于展示相关文章</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_sort_fromBigData" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/service/v2/article/getOtherArticle" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1852,7 +1866,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/service/v2/article/getOtherArticle?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -1860,13 +1874,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">分类列表大数据</stringProp> + <stringProp name="TestPlan.comments">进入文章详情页时,用于展示相关文章</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -1875,7 +1889,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&channel_id=4&client_type="+clientType+"&contentCode=e823582db5ead63c82e0d348c4e6a6bb&fromPage=aFP_Category&method=app.sort.fromBigData&msort=21&os_version=10.3.2&physical_channel=4&private_key="+privateKey+"&screen_size=375x667&session_key=820e45d1ae0ecfd8e37244b344444f5a&udid=04d8799b2594c451e9d95a9f44eca49fd28f0ac5&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&article_id="+bsh.args[0]+"&client_type="+clientType+"&limit=3&offset=0&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=dbef84f3659c370fcd19de19e67a5556&tags=比伯,鹿晗,侃爷,林俊杰,Drake,运动,户外,街头&udid=c383b9ed7696d2b31cf22685114a3a63eae58e95&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -1914,7 +1928,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_yoho_redpacket" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_document_config" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -1927,10 +1941,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">红包(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">微信公众号</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_yoho_redpacket" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_document_config" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -1955,7 +1969,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">红包(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">微信公众号</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -1970,7 +1984,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_My&method=app.yoho.redpacket&os_version=10.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=6c11cdee1b6002c72cfdfdab8b6de642&udid=ef8fa5d50340674427c91275b41f75288842cc12&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&method=app.document.config&os_version=10.1.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&udid=3a31d8b3f75a08c958747d41c4854673c669ef5f&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2009,7 +2023,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_home_newPreference" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_resources_getSingleTemplate" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2022,10 +2036,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">个人中心底部为你优选</stringProp> + <stringProp name="TestPlan.comments">1</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_home_newPreference" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_resources_getSingleTemplate" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2050,7 +2064,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">个人中心底部为你优选</stringProp> + <stringProp name="TestPlan.comments">1</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -2065,7 +2079,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_RecommendProduct&limit=30&method=app.home.newPreference&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&rec_pos=100004&screen_size=375x667&udid=9561cd2262d04577127d43b483232a2f745dc25b&uid="+bsh.args[0]+"&v=7&yh_channel=1"; +String req = "app_version=5.8.1&client_type="+clientType+"&key=guang_detail_wechat&method=app.resources.getSingleTemplate&module=wechat&os_version=10.1.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&udid=3a31d8b3f75a08c958747d41c4854673c669ef5f&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2104,7 +2118,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_home_getInfoNum" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/service/*/author/getAuthor" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2117,10 +2131,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">个人中心的各种数字</stringProp> + <stringProp name="TestPlan.comments">根据作者id获取作者信息(可降级)</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_home_getInfoNum" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/service/*/author/getAuthor" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2137,7 +2151,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/service/v1/author/getAuthor?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -2145,13 +2159,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">个人中心的各种数字</stringProp> + <stringProp name="TestPlan.comments">根据作者id获取作者信息(可降级)</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> + <stringProp name="parameters">${article_author_id} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -2160,7 +2174,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_AppDelegate&method=app.home.getInfoNum&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=c2483cef0e109a241557f9673932559d&udid=6bde85c56740592cbe550ac4dc459d67680a8aef&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&author_id="+bsh.args[0]+"&client_type="+clientType+"&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=b94ef83641963fac4240ff6bf2d7c8b9&udid=6d0c217d6fad39d94ddbfa676c0a01194e1bdb9d&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2199,7 +2213,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_inbox_getTotal" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_show_showChannel" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2212,10 +2226,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">首页右上方消息盒子(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">show频道列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_inbox_getTotal" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_show_showChannel" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2240,7 +2254,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">首页右上方消息盒子(可直接降级)</stringProp> + <stringProp name="TestPlan.comments">show频道列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -2255,7 +2269,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&is_read=N&method=app.inbox.getTotal&os_version=8.3&physical_channel=2&private_key="+privateKey+"&screen_size=375x667&session_key=779ad0263fdaf7ae4d6cd2d6f71b6b38&udid=a2c948fc82ff58a0317cf7e751d13dcd0aa54fa3&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_ShowMain&limit=20&method=show.showChannel&os_version=10.3.2&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=be7423e4fea423fa5336682a9b01f71a&udid=aa352294e8ef4065dfa75b7fb2a6c3bc19481ce3&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2294,7 +2308,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_coupons_total" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_inbox_getAllInboxCatInfo" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2307,10 +2321,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">优惠券数字</stringProp> + <stringProp name="TestPlan.comments">消息分类列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_coupons_total" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_inbox_getAllInboxCatInfo" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2335,7 +2349,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">优惠券数字</stringProp> + <stringProp name="TestPlan.comments">消息分类列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -2350,7 +2364,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_Login&method=app.coupons.total&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=dfa69d983755f1de704ded4498d70e59&type=notuse&udid=0bb4ec033080c1ac87602172eb0920311a70d45a&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=&gender=1,3&method=app.inbox.getAllInboxCatInfo&os_version=android7.0:KNT-AL10&physical_channel=1&private_key="+privateKey+"&screen_size=1080x1806&session_key=3fd76cabfbc3d8cf3e02b70241a6cbf1&udid=8635390348166301b96b551a739b4ac&uid="+bsh.args[0]+"&v=7&yh_channel=1"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2389,7 +2403,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_helper_getServiceOnline" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_inbox_getlistnew" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2402,10 +2416,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">在线客服类型(降级之后默认全是3)</stringProp> + <stringProp name="TestPlan.comments">获取用户的消息列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_helper_getServiceOnline" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_inbox_getlistnew" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2430,7 +2444,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">在线客服类型(降级之后默认全是3)</stringProp> + <stringProp name="TestPlan.comments">获取用户的消息列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -2445,7 +2459,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.7.0&client_type="+clientType+"&method=app.helper.getServiceOnline&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=320x568&udid=adafa5b0513c52fe12bf37003826ab77b99f952e&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&displayTab=4&gender=2,3&limit=60&method=app.inbox.getlistnew&os_version=android7.0:MHA-AL00&page=1&physical_channel=2&private_key="+privateKey+"&screen_size=1080x1812&session_key=30cc1f4e398894a1759a0871d00d943e&udid=8650310338806901e4d45f49de06db2&uid="+bsh.args[0]+"&v=7&yh_channel=2"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2484,7 +2498,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_activity_getlist" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_web_favorite_product" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2497,10 +2511,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">分享购等活动列表</stringProp> + <stringProp name="TestPlan.comments">PC端收藏的商品</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_activity_getlist" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_web_favorite_product" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2525,7 +2539,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">分享购等活动列表</stringProp> + <stringProp name="TestPlan.comments">PC端收藏的商品</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -2535,12 +2549,12 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; +String[] clientTypes = {"web"}; +String[] privateKeys = {"0ed29744ed318fd28d2c07985d3ba633"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.7.0&client_type="+clientType+"&fromPage=aFP_My&method=app.activity.getlist&os_version=10.0.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=0a0b7646f81b6a5f5ebc8c54d4337c3e&udid=de010d38c2bd111e6887e36e7596352814e7a001&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.0&client_type="+clientType+"&limit=500&method=web.favorite.product&os_version=yohobuy:web&page=0&private_key="+privateKey+"&screen_size=720x1280&session_key=1f90a18f1e992f3e24c94c71b2de5b11&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2579,7 +2593,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_newproduct_recbrand" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_favorite_product" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2592,10 +2606,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">新品到着推荐品牌</stringProp> + <stringProp name="TestPlan.comments">查询收藏的商品</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_newproduct_recbrand" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_favorite_product" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2620,7 +2634,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">新品到着推荐品牌</stringProp> + <stringProp name="TestPlan.comments">查询收藏的商品</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -2635,7 +2649,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&limit=60&method=app.newproduct.recbrand&os_version=10.3.2&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=437f86ad70b9832a1884c357b96e8ffe&udid=fc2fdedc84327f14de31f79adbcd0de61fad0afd&uid="+bsh.args[0]+"&v=7&yh_channel=1"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_MineCollectionGoods&limit=500&method=app.favorite.product&os_version=10.2.1&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=8be620e2d951d49128232f8b4c392422&udid=380aebe1da2c72def222c78249f99ef08c18260a&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2674,7 +2688,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_newproduct_reclist" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_favorite_brand" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2687,10 +2701,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">新品到着推荐商品列表</stringProp> + <stringProp name="TestPlan.comments">获取收藏的品牌列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_newproduct_reclist" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_favorite_brand" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2715,7 +2729,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">新品到着推荐商品列表</stringProp> + <stringProp name="TestPlan.comments">获取收藏的品牌列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -2730,7 +2744,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&gender=1,3&limit=20&method=app.newproduct.reclist&order=&os_version=android5.1.1:Redmi_Note_3&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=1080x1920&session_key=7ddadfafd388aba86ff13f0d51adf591&udid=8610840369852596e0de9aef48b93f6&uid="+bsh.args[0]+"&v=7&yh_channel=1"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_MineCollectionBrand&gender=2,3&limit=10&method=app.favorite.brand&os_version=10.3.2&page=1&physical_channel=2&private_key="+privateKey+"&screen_size=375x667&session_key=84bc728763b80b091ae6f424ecb72ac6&udid=970ef77a0099e51f2a5e28bcebfe2bfc6b15bd45&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2769,7 +2783,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_newproduct_recshop" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_browse_product" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2782,10 +2796,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">新品到着推荐店铺</stringProp> + <stringProp name="TestPlan.comments">浏览记录</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_newproduct_recshop" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_browse_product" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2810,7 +2824,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">新品到着推荐店铺</stringProp> + <stringProp name="TestPlan.comments">浏览记录</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -2825,7 +2839,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&contentCode=1f2e07cb63811680154ba693c954dd62&gender=1,3&limit=10&method=app.newproduct.recshop&os_version=android5.1.1:Redmi_Note_3&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=1080x1920&session_key=7ddadfafd388aba86ff13f0d51adf591&udid=8610840369852596e0de9aef48b93f6&uid="+bsh.args[0]+"&v=7&yh_channel=1"; +String req = "app_version=5.6.0&client_type="+clientType+"&fromPage=iFP_MineBrowseHistory&limit=100&method=app.browse.product&os_version=9.2.1&page=1&physical_channel=2&private_key="+privateKey+"&screen_size=320x568&session_key=53ca616ec8239f724f9cbad6e4f32866&udid=ee2b2359d526f5665357aa76727f8c5d9fc8ccb6&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -2864,7 +2878,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_product_goodDetail" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_SpaceOrders_get" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -2877,10 +2891,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">好货详情</stringProp> + <stringProp name="TestPlan.comments">订单列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_product_goodDetail" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_SpaceOrders_get" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -2905,108 +2919,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">好货详情</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${product_skn} ${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.6.0&client_type="+clientType+"&method=app.product.goodDetail&os_version=9.0.2&physical_channel=1&private_key="+privateKey+"&product_skn="+bsh.args[0]+"&screen_size=414x736&session_key=0da72536c71ea0956800afdaf71ae088&udid=eae1c459cc40e95414ef186b1d2ad7eac65b9768&uid="+bsh.args[1]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/shops/service/v1/favorite/getUidBrandFav" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">1</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/shops/service/v1/favorite/getUidBrandFav" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/shops/service/v1/favorite/getUidBrandFav?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">1</stringProp> + <stringProp name="TestPlan.comments">订单列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${brand_id} ${uid}</stringProp> + <stringProp name="parameters">${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -3015,7 +2934,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.7.0&brandId="+bsh.args[0]+"&client_type="+clientType+"&os_version=10.2.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=c5c7191d1dbe5362ee2d32b65d7a141f&udid=3536012226e5566d334c61659e91875163de603e&uid="+bsh.args[1]+"&v=7"; +String req = "app_version=5.8.0&client_type="+clientType+"&limit=10&method=app.SpaceOrders.get&os_version=yohobuy:web&page=1&private_key="+privateKey+"&screen_size=720x1280&session_key=1f90a18f1e992f3e24c94c71b2de5b11&type=1&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -3054,7 +2973,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/*/plustar/getbrandinfo" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_SpaceOrders_detail" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -3067,10 +2986,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">根据品牌关系id,获取品牌详情</stringProp> + <stringProp name="TestPlan.comments">订单详情页</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/*/plustar/getbrandinfo" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_SpaceOrders_detail" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -3087,7 +3006,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v1/plustar/getbrandinfo?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -3095,13 +3014,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">根据品牌关系id,获取品牌详情</stringProp> + <stringProp name="TestPlan.comments">订单详情页</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${brand_id} ${uid}</stringProp> + <stringProp name="parameters">${order_code} ${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -3110,7 +3029,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.7.0&client_type="+clientType+"&id="+bsh.args[0]+"&os_version=10.2.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=c5c7191d1dbe5362ee2d32b65d7a141f&udid=3536012226e5566d334c61659e91875163de603e&uid="+bsh.args[1]+"&v=7"; +String req = "app_version=5.5.0&client_type="+clientType+"&fromPage=iFP_MineOrderDetail&method=app.SpaceOrders.detail&order_code="+bsh.args[0]+"&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&udid=2a02ec0bebf4824d9b10c54b26985d3a37785d02&uid="+bsh.args[1]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -3149,7 +3068,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v3/plustar/getlist" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_show_allToShareOrderList" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -3162,10 +3081,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">明星品牌列表(pageCache)</stringProp> + <stringProp name="TestPlan.comments">待晒单列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v3/plustar/getlist" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_show_allToShareOrderList" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -3182,7 +3101,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v3/plustar/getlist?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -3190,7 +3109,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">明星品牌列表(pageCache)</stringProp> + <stringProp name="TestPlan.comments">待晒单列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -3205,7 +3124,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.9.0&brand_type=3&client_type="+clientType+"&gender=3&os_version=android5.1:PRO_5&physical_channel=1&private_key="+privateKey+"&screen_size=1080x1920&udid=8679050219190811726e91d2390ffeb&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.7.0&client_type="+clientType+"&fromPage=iFP_ShowOrderMain&limit=21&method=show.allToShareOrderList&os_version=10.3.2&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=0e4c6382384f408c51e71e1d3429aad2&udid=9cb2ef3aab6b0dd5bd43098d4da8a542c2277d86&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -3244,7 +3163,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/service/v1/article/getArticleByBrand" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_coupons_li" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -3257,10 +3176,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">获取品牌的文章</stringProp> + <stringProp name="TestPlan.comments">我的优惠卷列表</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/service/v1/article/getArticleByBrand" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_coupons_li" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -3277,7 +3196,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/service/v1/article/getArticleByBrand?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -3285,13 +3204,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">获取品牌的文章</stringProp> + <stringProp name="TestPlan.comments">我的优惠卷列表</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${brand_id} ${uid}</stringProp> + <stringProp name="parameters">${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -3300,7 +3219,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&brand_id="+bsh.args[0]+"&client_type="+clientType+"&limit=3&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=320x568&session_key=7d8ebd2d7633b8263091ffaebd123958&udid=315c3402a511eeed88dcd5142aef656e1e0bbcda&uid="+bsh.args[1]+"&v=7"; +String req = "app_version=5.6.0&client_type="+clientType+"&fromPage=iFP_MineCoupon&limit=10&method=app.coupons.li&os_version=8.1.3&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=320x568&session_key=0b927cbbd453c147d4e70c517d8982aa&status=0&udid=fd13346ee64e3ddaa670496af47aa20bd9263b8d&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -3339,7 +3258,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_promotion_queryCouponCenter" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_promotion_queryUserShowYohoCoin" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -3352,10 +3271,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">领卷中心</stringProp> + <stringProp name="TestPlan.comments">查询有货币</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_promotion_queryCouponCenter" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_promotion_queryUserShowYohoCoin" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -3380,7 +3299,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">领卷中心</stringProp> + <stringProp name="TestPlan.comments">查询有货币</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -3395,7 +3314,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.9.0&client_type="+clientType+"&contentCode=b78b32ed81b18dde8ac84fd33602b88b&method=app.promotion.queryCouponCenter&os_version=yohobuy:h5&private_key="+privateKey+"&screen_size=720x1280&session_key=8913f1f61ab5e4dbe598114bc2829937&uid="+bsh.args[0]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&eventCode=SHAREORDER_AUDIT_EVENT&fromPage=iFP_ShowOrderMain&method=app.promotion.queryUserShowYohoCoin&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=af56b61a7d3efa60fd08557c2babea59&udid=892df8c58a7f6f1a144d9617ff7014e37f12965b&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -3434,7 +3353,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_promotion_getCoupon" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_yohocoin_lists" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -3447,10 +3366,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">用户领券(限流)</stringProp> + <stringProp name="TestPlan.comments">PC端点进我的有货币->查看明细</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_promotion_getCoupon" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_yohocoin_lists" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -3475,13 +3394,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">用户领券(限流)</stringProp> + <stringProp name="TestPlan.comments">PC端点进我的有货币->查看明细</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${COUPON_ID} ${uid}</stringProp> + <stringProp name="parameters">${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -3490,7 +3409,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.7.0&client_type="+clientType+"&couponId="+bsh.args[0]+"&fromPage=iFP_ReceiveBirthdayCoupon&method=app.promotion.getCoupon&os_version=10.3.1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=635de4cc431436e6c36c926077881c55&udid=b843e41d22f47dddcac217b0d88fa26cc94568ee&uid="+bsh.args[1]+"&v=7"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=&limit=10&method=app.yohocoin.lists&os_version=10.3.2&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=49344417c98d88ebde01c91cc2de466a&udid=ba027b82c0b747a57708b9264b298162531daf8f&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -3529,7 +3448,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_activity_get" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_yoho_yohocoin" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -3542,10 +3461,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">1</stringProp> + <stringProp name="TestPlan.comments">YOHO币总数(可降级)</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_activity_get" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_yoho_yohocoin" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -3570,13 +3489,13 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">1</stringProp> + <stringProp name="TestPlan.comments">YOHO币总数(可降级)</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> <stringProp name="TestPlan.comments"></stringProp> <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${activity_id} ${uid}</stringProp> + <stringProp name="parameters">${uid}</stringProp> <stringProp name="filename"></stringProp> <stringProp name="script">import java.security.MessageDigest; import java.util.Random; @@ -3585,7 +3504,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&gender=2,3&id="+bsh.args[0]+"&method=app.activity.get&os_version=android5.1:vivo_V3M_A&physical_channel=2&plateform=2&private_key="+privateKey+"&screen_size=720x1280&session_key=71593bf35185120078f63b378d20b4eb&sort=2&udid=86186503861366121369632f13b7a7f&uid="+bsh.args[1]+"&v=7&yh_channel=2"; +String req = "app_version=5.8.1&client_type="+clientType+"&method=app.yoho.yohocoin&os_version=10.3.3&physical_channel=2&private_key="+privateKey+"&screen_size=375x667&session_key=8cedffab3eb35478d58f460cf7d3d37e&udid=0df4b99bc0a55e9630cfdb3ba8f82b6f73a6cedf&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -3624,7 +3543,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_sale_getBreakingSort" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_/guang/api/v1/favorite/getUserFavArticleList" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -3637,10 +3556,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">查询断码区分类和尺码(折扣专区->断码区)</stringProp> + <stringProp name="TestPlan.comments">我的逛</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_sale_getBreakingSort" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_/guang/api/v1/favorite/getUserFavArticleList" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -3657,7 +3576,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <stringProp name="HTTPSampler.response_timeout"></stringProp> <stringProp name="HTTPSampler.protocol"></stringProp> <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> + <stringProp name="HTTPSampler.path">http://${HOST_SERVICE}/guang/api/v1/favorite/getUserFavArticleList?${searchValue}</stringProp> <stringProp name="HTTPSampler.method">GET</stringProp> <boolProp name="HTTPSampler.follow_redirects">true</boolProp> <boolProp name="HTTPSampler.auto_redirects">false</boolProp> @@ -3665,7 +3584,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">查询断码区分类和尺码(折扣专区->断码区)</stringProp> + <stringProp name="TestPlan.comments">我的逛</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -3680,7 +3599,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.5.2&client_type="+clientType+"&fromPage=aFP_ShortSizeProList&gender=1,3&method=app.sale.getBreakingSort&os_version=android7.0:MHA-AL00&physical_channel=1&private_key="+privateKey+"&screen_size=1080x1821&session_key=0b86179aecade0a6152cc22506da3f04&udid=86436803468147456fafb6effd9afc9&uid="+bsh.args[0]+"&v=7&yh_channel=1"; +String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_GuangMineFavor&limit=10&os_version=10.3.2&page=1&physical_channel=2&private_key="+privateKey+"&screen_size=375x667&session_key=4ee70e737034483110fe1d23c00872d0&udid=03d86cc98320f26cbd05bb7cbac027fbc7d2da1a&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); @@ -3719,7 +3638,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri </ConstantThroughputTimer> <hashTree/> </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_product_notLike" enabled="true"> + <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_passport_vip" enabled="true"> <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> <boolProp name="LoopController.continue_forever">false</boolProp> @@ -3732,10 +3651,10 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="ThreadGroup.scheduler">false</boolProp> <stringProp name="ThreadGroup.duration"></stringProp> <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">不喜欢</stringProp> + <stringProp name="TestPlan.comments">用户VIP信息</stringProp> </ThreadGroup> <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_product_notLike" enabled="true"> + <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_passport_vip" enabled="true"> <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> <collectionProp name="Arguments.arguments"> @@ -3760,292 +3679,7 @@ vars.put("searchValue",req+"&client_secret="+md5);</stri <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> <boolProp name="HTTPSampler.monitor">false</boolProp> <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">不喜欢</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${product_skn} ${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&method=app.product.notLike&os_version=10.3.2&physical_channel=4&private_key="+privateKey+"&product_skn="+bsh.args[0]+"&rec_pos=100003&screen_size=375x667&udid=a94ea1ff38ead0bf799a404fe46ffbc2d571d470&uid="+bsh.args[1]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_product_recShopCart" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">购物车底部推荐</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_product_recShopCart" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">购物车底部推荐</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.6.0&client_type="+clientType+"&gender=1,3&method=app.product.recShopCart&os_version=android5.1:XT1085&physical_channel=1&private_key="+privateKey+"&screen_size=1080x1776&session_key=90a490b990a1ffb4d36db14eeecebcd1&udid=35334706127113498719dc059bf115f&uid="+bsh.args[0]+"&v=7&yh_channel=1"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_newuser_recommend" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">新用户推荐</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_newuser_recommend" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">新用户推荐</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_UserGuideAndRecommend&method=app.newuser.recommend&os_version=10.2&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&select_gender=1&udid=94f5179ecd782d857e6b098f41e6cf3d0778b3cb&uid="+bsh.args[0]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_limitProduct_soonToSaleLimitProduct" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">即将发售商品列表(pageCache,30秒)</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_limitProduct_soonToSaleLimitProduct" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">即将发售商品列表(pageCache,30秒)</stringProp> + <stringProp name="TestPlan.comments">用户VIP信息</stringProp> </HTTPSamplerProxy> <hashTree> <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> @@ -4060,672 +3694,7 @@ String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; int rd = new Random().nextInt(1); String clientType = clientTypes[rd]; String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_LimitPurchaseHome&limit=20&method=app.limitProduct.soonToSaleLimitProduct&os_version=10.2&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=d7e99ced4bccf8ba6098c58d718898a5&udid=441ebe1cbe40e2dac85c9d7201901818d0765f48&uid="+bsh.args[0]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_limitProduct_hotLimitProduct" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">热门发售商品列表(pageCache,30秒)</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_limitProduct_hotLimitProduct" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">热门发售商品列表(pageCache,30秒)</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_LimitPurchaseHome&limit=20&method=app.limitProduct.hotLimitProduct&os_version=10.3.2&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=328652d299d53f752c280a305f67eb5b&udid=a3ad2e205c3d1cb7f0dcf7f8d8a5174f26f8c56e&uid="+bsh.args[0]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_limitcode_query" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">我的限购码列表</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_limitcode_query" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">我的限购码列表</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_MinePurchaseCode&method=app.limitcode.query&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=265ff36faf6c6deb7074f6496b35d2fc&udid=66aab3af40963d516841918f7c98f51d3efd8868&uid="+bsh.args[0]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_limitProduct_alreadySaleLimitProduct" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">已发售商品列表(pageCache,30秒)</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_limitProduct_alreadySaleLimitProduct" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">已发售商品列表(pageCache,30秒)</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_LimitPurchaseHome&limit=20&method=app.limitProduct.alreadySaleLimitProduct&os_version=10.2.1&page=1&physical_channel=1&private_key="+privateKey+"&screen_size=375x667&session_key=801da72a02988e2f2a0ea78496c8ddac&udid=c92079a2c3469c149aee799e4325db35dc42193c&uid="+bsh.args[0]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_reminder_getUserReminder" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">我的提醒列表(限流)</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_reminder_getUserReminder" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">我的提醒列表(限流)</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=&method=app.reminder.getUserReminder&os_version=10.3.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=25f84f31e20a14d75749fab1efe12d26&udid=70ca80457e98cc7f5d91ba573c6d4d43e7269f5b&uid="+bsh.args[0]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_limitProduct_limitProductHtml" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">限量商品详情h5页面(pageCache,10min)</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_limitProduct_limitProductHtml" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">限量商品详情h5页面(pageCache,10min)</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${limit_product_code} ${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_LimitPurchaseDetail&limitProductCode="+bsh.args[0]+"&method=app.limitProduct.limitProductHtml&os_version=10.2&physical_channel=1&private_key="+privateKey+"&return_type=html&screen_size=414x736&session_key=d7e99ced4bccf8ba6098c58d718898a5&udid=441ebe1cbe40e2dac85c9d7201901818d0765f48&uid="+bsh.args[1]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_limitProduct_limitProductDetail" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">限定商品详情(可降级接口梳理)</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_limitProduct_limitProductDetail" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">限定商品详情(可降级接口梳理)</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${limit_product_code} ${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=iFP_LimitPurchaseDetail&limitProductCode="+bsh.args[0]+"&method=app.limitProduct.limitProductDetail&os_version=10.2&physical_channel=1&private_key="+privateKey+"&screen_size=414x736&session_key=d7e99ced4bccf8ba6098c58d718898a5&udid=441ebe1cbe40e2dac85c9d7201901818d0765f48&uid="+bsh.args[1]+"&v=7"; -MessageDigest md = MessageDigest.getInstance("MD5"); -byte[] btInput = req.getBytes(); -md.update(btInput); -byte[] btResult = md.digest(); -StringBuffer sb = new StringBuffer(); -for(byte b : btResult){ - int bt = b&0xff; - if(bt<16){ - sb.append(0); - } - sb.append(Integer.toHexString(bt)); -} -String md5 = sb.toString(); -vars.put("searchValue",req+"&client_secret="+md5);</stringProp> - </BeanShellPreProcessor> - <hashTree/> - <ResponseAssertion guiclass="AssertionGui" testclass="ResponseAssertion" testname="响应断言" enabled="true"> - <collectionProp name="Asserion.test_strings"> - <stringProp name="1450572480">"code":200</stringProp> - </collectionProp> - <stringProp name="TestPlan.comments"></stringProp> - <stringProp name="Assertion.test_field">Assertion.response_data</stringProp> - <boolProp name="Assertion.assume_success">false</boolProp> - <intProp name="Assertion.test_type">16</intProp> - </ResponseAssertion> - <hashTree/> - </hashTree> - <ConstantThroughputTimer guiclass="TestBeanGUI" testclass="ConstantThroughputTimer" testname="固定TPM" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <doubleProp> - <name>throughput</name> - <value>600</value> - <savedValue>0.0</savedValue> - </doubleProp> - <intProp name="calcMode">2</intProp> - </ConstantThroughputTimer> - <hashTree/> - </hashTree> - <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="tg_app_limitProduct_productStatus" enabled="true"> - <stringProp name="ThreadGroup.on_sample_error">continue</stringProp> - <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="循环控制器" enabled="true"> - <boolProp name="LoopController.continue_forever">false</boolProp> - <intProp name="LoopController.loops">-1</intProp> - </elementProp> - <stringProp name="ThreadGroup.num_threads">1</stringProp> - <stringProp name="ThreadGroup.ramp_time">10</stringProp> - <longProp name="ThreadGroup.start_time">1488865571000</longProp> - <longProp name="ThreadGroup.end_time">1488865571000</longProp> - <boolProp name="ThreadGroup.scheduler">false</boolProp> - <stringProp name="ThreadGroup.duration"></stringProp> - <stringProp name="ThreadGroup.delay"></stringProp> - <stringProp name="TestPlan.comments">限定商品获取限定商品状态信息</stringProp> - </ThreadGroup> - <hashTree> - <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="tc_app_limitProduct_productStatus" enabled="true"> - <boolProp name="HTTPSampler.postBodyRaw">true</boolProp> - <elementProp name="HTTPsampler.Arguments" elementType="Arguments"> - <collectionProp name="Arguments.arguments"> - <elementProp name="" elementType="HTTPArgument"> - <boolProp name="HTTPArgument.always_encode">false</boolProp> - <stringProp name="Argument.value"></stringProp> - <stringProp name="Argument.metadata">=</stringProp> - </elementProp> - </collectionProp> - </elementProp> - <stringProp name="HTTPSampler.domain"></stringProp> - <stringProp name="HTTPSampler.port"></stringProp> - <stringProp name="HTTPSampler.connect_timeout"></stringProp> - <stringProp name="HTTPSampler.response_timeout"></stringProp> - <stringProp name="HTTPSampler.protocol"></stringProp> - <stringProp name="HTTPSampler.contentEncoding"></stringProp> - <stringProp name="HTTPSampler.path">http://${HOST_API}/?${searchValue}</stringProp> - <stringProp name="HTTPSampler.method">GET</stringProp> - <boolProp name="HTTPSampler.follow_redirects">true</boolProp> - <boolProp name="HTTPSampler.auto_redirects">false</boolProp> - <boolProp name="HTTPSampler.use_keepalive">true</boolProp> - <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp> - <boolProp name="HTTPSampler.monitor">false</boolProp> - <stringProp name="HTTPSampler.embedded_url_re"></stringProp> - <stringProp name="TestPlan.comments">限定商品获取限定商品状态信息</stringProp> - </HTTPSamplerProxy> - <hashTree> - <BeanShellPreProcessor guiclass="TestBeanGUI" testclass="BeanShellPreProcessor" testname="前置BeanShell" enabled="true"> - <stringProp name="TestPlan.comments"></stringProp> - <boolProp name="resetInterpreter">false</boolProp> - <stringProp name="parameters">${limit_product_code} ${limit_product_skn} ${uid}</stringProp> - <stringProp name="filename"></stringProp> - <stringProp name="script">import java.security.MessageDigest; -import java.util.Random; -String[] clientTypes = {"android"}; -String[] privateKeys = {"fd4ad5fcfa0de589ef238c0e7331b585"}; -int rd = new Random().nextInt(1); -String clientType = clientTypes[rd]; -String privateKey = privateKeys[rd]; -String req = "app_version=5.8.1&client_type="+clientType+"&fromPage=aFP_ProductDetail&gender=1,3&limitProductCode="+bsh.args[0]+"&method=app.limitProduct.productStatus&os_version=android6.0.1:Redmi_4X&physical_channel=1&private_key="+privateKey+"&product_skn="+bsh.args[1]+"&screen_size=720x1280&session_key=b4275d6bfe67c789b28ce9c34a2710d4&udid=9900101181345145cfb72f58536a4a&uid="+bsh.args[2]+"&v=7&yh_channel=1"; +String req = "app_version=5.9.0&channel=1&client_type="+clientType+"&method=app.passport.vip&os_version=yohobuy:h5&private_key="+privateKey+"&screen_size=720x1280&session_key=b1f7ae6f1f79d627ed0067c25644c448&uid="+bsh.args[0]+"&v=7"; MessageDigest md = MessageDigest.getInstance("MD5"); byte[] btInput = req.getBytes(); md.update(btInput); -- libgit2 0.24.0