Jmeter壓力測試-自定義java請求

這裏簡單說明一下怎麼自定義java請求,並利用jmeter作壓力測試,但願不只對測試人員,對開發人員也有幫助。java

1 建立java請求類

1) 在eclipse中建立一個java項目apache

2) 導入Jmeterhome/lib/ext下的兩個包:ApacheJMeter_java.jar和ApacheJMeter_core.jar服務器

3) 建立一個繼承於AbstractJavaSamplerClient的java類eclipse

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
public class javaRequest extends AbstractJavaSamplerClient {
       //自定義變量
       private SampleResult results;
       private String var1=null;
       private String var2=null;    
   
      //設置傳入的參數,能夠設置多個,已設置的參數會顯示到Jmeter的參數列表中
     @Override
      public Arguments getDefaultParameters() {
          Arguments params = new Arguments();
          params.addArgument("param1","");
          params.addArgument("param2","");
          return params;
      }

        //初始化方法,實際運行時每一個線程僅執行一次,在測試方法運行前執行
        @Override
      public void setupTest(JavaSamplerContext arg0){
             //如下是舉例代碼
            results = new SampleResult();
            var1 = arg0.getParameter("param1");   //獲取在Jmeter中設置的參數值
            if (var1 != null && var1.length() > 0) {
                results.setSamplerData(var1);
            }
            var2=arg0.getParameter("param2");
            if (var2 != null && var2.length() > 0) {
                results.setSamplerData(var2);
             }
        }

        //測試執行的循環體,根據線程數和循環次數的不一樣可執行屢次
        @Override
        public SampleResult runTest(JavaSamplerContext arg0) {
            SampleResult result = new SampleResult();

                boolean success = true;
                //事務的起點
                result.sampleStart();

                // 這裏可引用var一、var2編寫您的測試代碼.

                //事務的終點
                result.sampleEnd();
                //設置本次事務成功或失敗
                result.setSuccessful(success);

                return result;

        }

      //結束方法,實際運行時每一個線程僅執行一次,在測試方法運行結束後執行
        @Override
        public void teardownTest(JavaSamplerContext arg0){
            driver.quit();
              String verificationErrorString = verificationErrors.toString();
              if (!"".equals(verificationErrorString)) {
                fail(verificationErrorString);
                System.out.println(verificationErrorString); 

              }
        super.teardownTest(arg0);
        }
}

2 引入jar包

將以上project導出爲jar包,放到jmeter/lib/ext下,重啓jmeter。ide

3 添加線性組

添加線性組

4 添加java request

添加java request

選擇自定義的類,設置對應的參數值。測試

選擇自定義的類

5 添加監控

聚合報告:ui

聚合報告

服務器參數監控:線程

服務器監控

相關文章
相關標籤/搜索