jmeter添加java請求


1.編寫java類要引入jmeter的包

2.編寫類要繼承AbstractJavaSamplerClient

3.實現如下方法:

    public Arguments getDefaultParameters();定義可用參數及默認值;  

          public void setupTest(JavaSamplerContext arg0):可選,測試前執行,做一些初始化工作;  
          public SampleResult runTest(JavaSamplerContext arg0);必選,實現自定義請求;  
          public void teardownTest(JavaSamplerContext arg0):可選,測試結束時調用;

 4.編寫完類,打成jar包,放入lib\ext目錄下, jmeter即可發起java請求(如果報其他類沒有找到的錯誤,返回java工程,找到java工程是否引用了其他第三方包,需要將這些包也一並放到jmeter的ext目前下,這些類才能正常被調用

 1 package com.hpay.gjt.api.test;
 2 
 3 import org.apache.jmeter.config.Arguments;
 4 import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
 5 import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
 6 import org.apache.jmeter.samplers.SampleResult;
 7 
 8 import com.hpay.gjt.api.util.CFCAUtil;
 9 
10 import org.slf4j.Logger;
11 import org.slf4j.LoggerFactory;
12 
13 public class SignDemo extends AbstractJavaSamplerClient{
14     private static final Logger logger = LoggerFactory.getLogger(SignDemo.class);
15 
16    //加簽
17     public static String sign(String sourceData,String PRI_CERT_PATH,String PRI_CERT_PWD){
18         try {
19             System.out.println("加簽原始數據sourceData="+sourceData);
20             String signature =  CFCAUtil.sign(PRI_CERT_PATH, PRI_CERT_PWD, sourceData);
21             return signature;
22         } catch (Exception e) {
23             e.printStackTrace();
24             System.out.println("ERROR:========加簽異常");
25             return "";
26         }
27     }
28     
29     private String sourceData;
30     private String PRI_CERT_PATH;
31     private String PRI_CERT_PWD;
32 
33     @Override
34     //定義可用參數及默認值;
35     public Arguments getDefaultParameters() {
36         Arguments params = new Arguments();
37         params.addArgument("sourceData", "1.0.0|343222|201912231403195448|20191223|20191223140319|10|100|張三|6216261000000000018|00|||||||736a319r");
38         params.addArgument("PRI_CERT_PATH","V:\\123.pfx");
39         params.addArgument("PRI_CERT_PWD", "123456");
40         return params;
41     }
42     @Override
43     //獲取輸入值
44     public void setupTest(JavaSamplerContext arg0) {
45         sourceData = arg0.getParameter("sourceData");
46         PRI_CERT_PATH = arg0.getParameter("PRI_CERT_PATH");
47         PRI_CERT_PWD = arg0.getParameter("PRI_CERT_PWD");
48     }        
49     @Override
50     //調用簽名方法
51     public SampleResult runTest(JavaSamplerContext arg0) {
52         SampleResult result= new SampleResult();
53 
54         String respData = sign(sourceData, PRI_CERT_PATH, PRI_CERT_PWD);
55         logger.info(respData);
56         result.setResponseData(respData,"utf-8");
57         return result;
58     }
59     public static void main (String[] args) { 
60         //調用調試
61         Arguments params = new Arguments();
62         params.addArgument("sourceData", "1.0.0|343222|201912231403195448|20191223|20191223140319|10|100|全渠道|6216261000000000018|00|||||||736a319r");
63         params.addArgument("PRI_CERT_PATH", "V:\\123.pfx");
64         params.addArgument("PRI_CERT_PWD", "123456");
65         JavaSamplerContext arg0 = new JavaSamplerContext(params);
66         SignDemo test = new SignDemo();
67         test.setupTest(arg0);
68         test.runTest(arg0);  
69     }
70 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM