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的lib\ext目錄。
- ·業(yè)務jar包及其所有的依賴包,放入Jmeter的lib目錄。
然后重啟jmeter,添加Java請求,就可以看到新增的Java請求了。
lib目錄的沖突、管理:
業(yè)務本身需要用到的一些jar包,可能Jmeter的lib目錄原始就存在。因此會存在以下問題:
- ·jar包版本的沖突問題。
- ·jar包數(shù)量太多,無法有效區(qū)分。
解決方法:在Jmeter.properties中設置plugin_dependency_path
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
兩個小例子輕松搞懂 java 中遞歸與尾遞歸的優(yōu)化操作
這篇文章主要介紹了兩個小例子輕松搞懂 java 中遞歸與尾遞歸的優(yōu)化操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09
Java?數(shù)據(jù)結(jié)構與算法系列精講之隊列
這篇文章主要介紹了Java隊列數(shù)據(jù)結(jié)構的實現(xiàn),隊列是一種特殊的線性表,只允許在表的隊頭進行刪除操作,在表的后端進行插入操作,隊列是一個有序表先進先出,想了解更多相關資料的小伙伴可以參考下面文章的詳細內(nèi)容2022-02-02
Java實現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換
本文主要介紹了Java 二維數(shù)組和稀疏數(shù)組轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-06-06

