jmeter 的java請求代碼在main方法裏面執行
阿新 • • 發佈:2019-02-11
新建 代碼 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; importView Codeorg.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; //設置可用參數及的默認值; publicArguments 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); } }
這裏面有個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方法裏面執行