JMeter 實(shí)現(xiàn)Java請求步驟及原理詳解
1.jar包
添加jar包依賴,注意和Jmeter的版本相同:
ApacheJMeter_core.jar,ApacheJMeter_java.jar
2.寫Java請求
先繼承 AbstractJavaSamplerClient,或者實(shí)現(xiàn) JavaSamplerClient,
各方法和參數(shù):
getDefaultParameters(),用來自定義參數(shù)的。 runTest(),請求主體。 Arguments類: 參數(shù)管理; addAuguments() 用來添加參數(shù)。 JavaSamplerContext類: javaSampler的容器類,用來接收、處理用戶傳入的參數(shù)。 getParameter('參數(shù)名稱') 用來獲取指定的參數(shù)的值。 SampleResult類,請求類。代碼實(shí)現(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一個(gè)SampleResult對象,用來實(shí)現(xiàn)計(jì)時(shí)、結(jié)果回寫等操作。 SampleResult sr=new SampleResult(); //初始化業(yè)務(wù)功能類。業(yè)務(wù)功能類就是真正用來實(shí)現(xiàn)請求發(fā)送的類。 Request request=new Request(); //業(yè)務(wù)操作 try { //請求開始計(jì)時(shí) sr.sampleStart(); //調(diào)用業(yè)務(wù)方法。 String result=request.say(uname); //設(shè)置顯示的請求數(shù)據(jù),非必須。 sr.setSamplerData('this is uname='+uname); //設(shè)置顯示的響應(yīng)數(shù)據(jù),必須。 sr.setResponseData(result,sr.TEXT); //設(shè)置請求的結(jié)束狀態(tài)。 sr.setSuccessful(true); } catch (Exception e) { sr.setResponseData('fail msg:'+e.getMessage(),sr.TEXT); sr.setSuccessful(false); } finally { //請求結(jié)束計(jì)時(shí)。 sr.sampleEnd(); } return sr; }}
寫好之后打成jar包;
3.jar包的存放
·擴(kuò)展的組件本身的jar包,放入Jmeter的libext目錄。 ·業(yè)務(wù)jar包及其所有的依賴包,放入Jmeter的lib目錄。然后重啟jmeter,添加Java請求,就可以看到新增的Java請求了。
lib目錄的沖突、管理:
業(yè)務(wù)本身需要用到的一些jar包,可能Jmeter的lib目錄原始就存在。因此會存在以下問題:
·jar包版本的沖突問題。 ·jar包數(shù)量太多,無法有效區(qū)分。解決方法:在Jmeter.properties中設(shè)置plugin_dependency_path
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Django ORM實(shí)現(xiàn)按天獲取數(shù)據(jù)去重求和例子2. IntelliJ IDEA設(shè)置自動提示功能快捷鍵的方法3. XML入門的常見問題(一)4. jsp EL表達(dá)式詳解5. 解決ajax的delete、put方法接收不到參數(shù)的問題方法6. idea修改背景顏色樣式的方法7. IntelliJ IDEA 統(tǒng)一設(shè)置編碼為utf-8編碼的實(shí)現(xiàn)8. Jsp中request的3個(gè)基礎(chǔ)實(shí)踐9. chat.asp聊天程序的編寫方法10. 怎樣才能用js生成xmldom對象,并且在firefox中也實(shí)現(xiàn)xml數(shù)據(jù)島?
