JMeter 實現Java請求步驟及原理詳解
1.jar包
添加jar包依賴,注意和Jmeter的版本相同:
ApacheJMeter_core.jar,ApacheJMeter_java.jar
2.寫Java請求
先繼承 AbstractJavaSamplerClient,或者實現 JavaSamplerClient,
各方法和參數:
getDefaultParameters(),用來自定義參數的。 runTest(),請求主體。 Arguments類: 參數管理; addAuguments() 用來添加參數。 JavaSamplerContext類: javaSampler的容器類,用來接收、處理用戶傳入的參數。 getParameter('參數名稱') 用來獲取指定的參數的值。 SampleResult類,請求類。代碼實現
public class HelloThree extends AbstractJavaSamplerClient { String uname=''; //定義GUI界面的參數。 @Override public Arguments getDefaultParameters() { Arguments params = new Arguments(); params.addArgument('username', 'Jerry'); return params; } @Override public void setupTest(JavaSamplerContext context) { //獲取參數 uname = context.getParameter('username'); } //主體執行部分。 @Override public SampleResult runTest(JavaSamplerContext javaSamplerContext) { //new一個SampleResult對象,用來實現計時、結果回寫等操作。 SampleResult sr=new SampleResult(); //初始化業務功能類。業務功能類就是真正用來實現請求發送的類。 Request request=new Request(); //業務操作 try { //請求開始計時 sr.sampleStart(); //調用業務方法。 String result=request.say(uname); //設置顯示的請求數據,非必須。 sr.setSamplerData('this is uname='+uname); //設置顯示的響應數據,必須。 sr.setResponseData(result,sr.TEXT); //設置請求的結束狀態。 sr.setSuccessful(true); } catch (Exception e) { sr.setResponseData('fail msg:'+e.getMessage(),sr.TEXT); sr.setSuccessful(false); } finally { //請求結束計時。 sr.sampleEnd(); } return sr; }}
寫好之后打成jar包;
3.jar包的存放
·擴展的組件本身的jar包,放入Jmeter的libext目錄。 ·業務jar包及其所有的依賴包,放入Jmeter的lib目錄。然后重啟jmeter,添加Java請求,就可以看到新增的Java請求了。
lib目錄的沖突、管理:
業務本身需要用到的一些jar包,可能Jmeter的lib目錄原始就存在。因此會存在以下問題:
·jar包版本的沖突問題。 ·jar包數量太多,無法有效區分。解決方法:在Jmeter.properties中設置plugin_dependency_path
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: