最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Jmeter發(fā)送Java請求的實戰(zhàn)記錄

 更新時間:2021年09月07日 16:03:42   作者:社會小剛哥  
JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現(xiàn),下面這篇文章主要給大家介紹了關(guān)于如何利用Jmeter發(fā)送Java請求的相關(guān)資料,需要的朋友可以參考下

前言

第一次遇到了需要用Jmeter發(fā)送Java請求的情況,也是網(wǎng)上查過很多資料才成功。做一個記錄,做一個分享。

Jmeter去發(fā)送Java請求,就是需要你有測試類的jar包放到Jmeter的lib/ext目錄下,新建Java請求才可以。這個我們用到的測試類,開發(fā)給到以后我們需要自己去做一下調(diào)整,使用Eclipse工具來寫。

實現(xiàn)過程

1.首先創(chuàng)建好工程,用到兩個Jmeter包-ApacheJMeter_java.jar、ApacheJMeter_core.jar,直接從Jmeter復制項目里,并且右鍵Buid Path就可以了。

2.測試類需要繼承AbstractJavaSamplerClient,點擊報錯進行導包和添加實現(xiàn)方法。runTest方法就是核心方法,所實現(xiàn)的代碼邏輯在這里。

3.寫一個簡單的demo,兩個數(shù)相加為sum結(jié)果。初始化一個SampleResult,然后sr.sampleStart()作為Jmeter開始統(tǒng)計響應時間標識,相加過程為正式的邏輯代碼,把返回結(jié)果放入sr并設置字符集,sr.setSuccessful()設置成功與否,最后加上sr.sampleEnd()結(jié)束統(tǒng)計響應的標識,返回sr即可。

4.導出jar包,放到Jmeter-lib/ext目錄,添加一個Java請求,選擇我們test下的TestSum就可以了,測試結(jié)果如下:

5.簡單的測試寫完之后,我們再進行改造代碼,傳入的int參數(shù)不能是固定的,需要我們在Jmeter中傳入不同的參數(shù)進行測試,首先把剛才定義好的參數(shù)(8和6)去掉,在getDefaultParameters方法中去初始化一個參數(shù)集,把入?yún)⒎胚Mparams;setupTest方法做一些Jmeter測試前的初始化工作,可以在這里獲取我們輸入的參數(shù)。重新打包測試,我們就可以自定義兩個入?yún)⒌闹盗恕?/p>

6.到這里應該都大概知道怎么做了,附上本次代碼,可以作為一個模板,直接在上邊進行修改即可。

import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.protocol.java.sampler.AbstractJavaSamplerClient;
import org.apache.jmeter.protocol.java.sampler.JavaSamplerContext;
import org.apache.jmeter.samplers.SampleResult;
 
public class TestSum extends AbstractJavaSamplerClient {
 
	private String number1;
	private String number2;
 
	@Override
	public Arguments getDefaultParameters() {
		Arguments params = new Arguments();//初始化一個參數(shù)集
		params.addArgument("num1", "");//把入?yún)⒎湃雙arams
		params.addArgument("num2", "");
		return params;
	}
 
	@Override
	public void setupTest(JavaSamplerContext arg0) {
		number1 = arg0.getParameter("num1");//獲取入?yún)?賦值給變量
		number2 = arg0.getParameter("num2");
	}
 
	@Override
	public SampleResult runTest(JavaSamplerContext arg0) {
		//int number1 = 8;// 定義一個int參數(shù)8
		//int number2 = 6;// 定義一個int參數(shù)6
		SampleResult sr = new SampleResult();// 初始化一個SampleResult
		sr.setSamplerData("請求參數(shù)num1:" + number1 + "\n請求參數(shù)num2:" + number2);// 參數(shù)放進sr
		try {
			sr.sampleStart(); // jmeter 開始統(tǒng)計響應時間標識
			int sum = Integer.parseInt(number1)+Integer.parseInt(number2);// 定義sum等于兩個參數(shù)相加,正式的邏輯代碼
			sr.setResponseData("兩個數(shù)相加的結(jié)果是:" + sum, "utf-8");// 結(jié)果放入sr,并設置字符集
			sr.setDataType(SampleResult.TEXT);
			sr.setSuccessful(true); // 設置響應執(zhí)行成功
		} catch (Throwable e) {
			sr.setSuccessful(false);// 有異常,執(zhí)行失敗
			e.printStackTrace();
		} finally {
			sr.sampleEnd(); // jmeter 結(jié)束統(tǒng)計響應時間標識
		}
		return sr;
	}
 
}

真實的項目往往是復雜的,查看結(jié)果樹自定義返回什么內(nèi)容,如有定義好的返回結(jié)果resultData,sr.setResponseData(resultData, "字符集")即可。

總結(jié)

到此這篇關(guān)于利用Jmeter發(fā)送Java請求的文章就介紹到這了,更多相關(guān)Jmeter發(fā)送Java請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java簡單實現(xiàn)UDP和TCP的示例

    Java簡單實現(xiàn)UDP和TCP的示例

    下面小編就為大家?guī)硪黄狫ava簡單實現(xiàn)UDP和TCP的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Java中的兩種for循環(huán)介紹

    Java中的兩種for循環(huán)介紹

    在學習Hibernate的時候?qū)W習一種在Java當中的for循環(huán),估計是以前學習的時候沒有記住,忘記了在這里再寫下筆記
    2012-10-10
  • Java中File類方法詳解以及實踐

    Java中File類方法詳解以及實踐

    Java File類的功能非常強大,利用java基本上可以對文件進行所有操作,下面這篇文章主要給大家介紹了關(guān)于Java中File類方法以及實踐的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-04-04
  • Java基礎知識之ByteArrayInputStream流的使用

    Java基礎知識之ByteArrayInputStream流的使用

    這篇文章主要介紹了Java基礎知識之ByteArrayInputStream流的使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • btrace定位生產(chǎn)故障的方法示例

    btrace定位生產(chǎn)故障的方法示例

    這篇文章主要介紹了btrace定位生產(chǎn)故障的方法示例,文中通過示例代碼介紹的很詳細,相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。
    2017-02-02
  • java 中List按照date排序的實現(xiàn)

    java 中List按照date排序的實現(xiàn)

    這篇文章主要介紹了java 中List按照date排序的實現(xiàn)的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Java實現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換

    Java實現(xiàn)二維數(shù)組和稀疏數(shù)組之間的轉(zhuǎn)換

    本文主要介紹了Java 二維數(shù)組和稀疏數(shù)組轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-06-06
  • 如何使用CountDownLatch同步java多線程

    如何使用CountDownLatch同步java多線程

    這篇文章主要介紹了如何使用CountDownLatch同步java多線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • 關(guān)于Mybatis中foreach遍歷Map的實現(xiàn)示例

    關(guān)于Mybatis中foreach遍歷Map的實現(xiàn)示例

    這篇文章主要介紹了關(guān)于Mybatis中foreach遍歷Map的實現(xiàn)示例,MyBatis?是一款優(yōu)秀的半自動的ORM持久層框架,它支持自定義?SQL、存儲過程以及高級映射,需要的朋友可以參考下
    2023-05-05
  • Java基于HttpClient實現(xiàn)RPC的示例

    Java基于HttpClient實現(xiàn)RPC的示例

    HttpClient可以實現(xiàn)使用Java代碼完成標準HTTP請求及響應。本文主要介紹了Java基于HttpClient實現(xiàn)RPC,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評論

林州市| 阳山县| 西平县| 黄冈市| 桂平市| 怀宁县| 康保县| 岑巩县| 时尚| 天等县| 禄丰县| 石柱| 民权县| 精河县| 上思县| 临朐县| 胶南市| 太仓市| 普陀区| 博野县| 五家渠市| 丹巴县| 米易县| 双峰县| 台州市| 清河县| 安吉县| 蓝田县| 会同县| 瓦房店市| 达尔| 昭苏县| 开江县| 运城市| 汕尾市| 乐清市| 林周县| 江都市| 绥芬河市| 崇礼县| 绩溪县|