1. 程式人生 > >jmeter 的java請求代碼在main方法裏面執行

jmeter 的java請求代碼在main方法裏面執行

新建 代碼 esp nds close lap .config ring asa

1、新建一個java請求執行加法類

技術分享圖片
public class TestDemo {
    public int Tdemo(int a,int b){
        int sum = 0;
        sum = a+b;
        return sum;
    }
}
View Code

2、再建一個jmeter的java請求類

技術分享圖片
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 TestLength extends AbstractJavaSamplerClient{ private SampleResult results; private String a; private String b; private String sum; //設置可用參數及的默認值; public
Arguments getDefaultParameters() { Arguments params = new Arguments(); params.addArgument("num1",""); params.addArgument("num2","" ); return params; } //初始化方法,實際運行時每個線程僅執行一次,在測試方法運行前執行,類似於LoadRunner中的init方法 public void setupTest(JavaSamplerContext arg0) { results
= new SampleResult(); } //測試執行的循環體,根據線程數和循環次數的不同可執行多次,類似於LoadRunner中的Action方法 public SampleResult runTest(JavaSamplerContext arg0) { a = arg0.getParameter("num1"); b = arg0.getParameter("num2"); results.sampleStart(); //定義一個事務,表示這是事務的起始點,類似於LoadRunner的lr.start_transaction try{ TestDemo test = new TestDemo(); sum = String.valueOf(test.Tdemo(Integer.parseInt(a), Integer.parseInt(b))); if (sum != null && sum.length() > 0) { results.setResponseData("結果是:"+sum, null); results.setDataType(SampleResult.TEXT); }//會顯示在結果樹的響應數據裏 System.out.println(sum);//會輸出在Jmeter啟動的命令窗口中 results.setSuccessful(true); }catch(Throwable e){ results.setSuccessful(false); e.printStackTrace(); }finally{ results.sampleEnd(); //定義一個事務,表示這是事務的結束點,類似於LoadRunner的lr.end_transaction } return results; } //結束方法,實際運行時每個線程僅執行一次,在測試方法運行結束後執行,類似於LoadRunner中的end方法 public void teardownTest(JavaSamplerContext arg0) { } public static void main(String[] args) { Arguments params = new Arguments(); params.addArgument("num1", "1");//設置參數,並賦予默認值1 params.addArgument("num2", "2");//設置參數,並賦予默認值2 JavaSamplerContext arg0 = new JavaSamplerContext(params); TestLength test = new TestLength(); test.setupTest(arg0); test.runTest(arg0); test.teardownTest(arg0); } }
View Code

這裏面有個main方法,可以在這個main方法裏面調試 jmeter的java請求代碼

public static void main(String[] args) {  
        Arguments params = new Arguments();  
        params.addArgument("num1", "1");//設置參數,並賦予默認值1  
        params.addArgument("num2", "2");//設置參數,並賦予默認值2 
        JavaSamplerContext arg0 = new JavaSamplerContext(params);  
        TestLength test = new TestLength();  
        test.setupTest(arg0);  
        test.runTest(arg0); 
        test.teardownTest(arg0);  
    }

jmeter 的java請求代碼在main方法裏面執行