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