一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 利用Jmeter發送Java請求的實戰記錄

利用Jmeter發送Java請求的實戰記錄

2021-12-22 13:25社會小剛哥 Java教程

JMeter是Apache組織的開放源代碼項目,它是功能和性能測試的工具,100%的用java實現,下面這篇文章主要給大家介紹了關于如何利用Jmeter發送Java請求的相關資料,需要的朋友可以參考下

前言

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

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

 

實現過程

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

利用Jmeter發送Java請求的實戰記錄

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

利用Jmeter發送Java請求的實戰記錄

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

利用Jmeter發送Java請求的實戰記錄

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

利用Jmeter發送Java請求的實戰記錄

利用Jmeter發送Java請求的實戰記錄

利用Jmeter發送Java請求的實戰記錄

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

利用Jmeter發送Java請求的實戰記錄

利用Jmeter發送Java請求的實戰記錄

利用Jmeter發送Java請求的實戰記錄

利用Jmeter發送Java請求的實戰記錄

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();//初始化一個參數集
		params.addArgument("num1", "");//把入參放入params
		params.addArgument("num2", "");
		return params;
	}

	@Override
	public void setupTest(JavaSamplerContext arg0) {
		number1 = arg0.getParameter("num1");//獲取入參,賦值給變量
		number2 = arg0.getParameter("num2");
	}

	@Override
	public SampleResult runTest(JavaSamplerContext arg0) {
		//int number1 = 8;// 定義一個int參數8
		//int number2 = 6;// 定義一個int參數6
		SampleResult sr = new SampleResult();// 初始化一個SampleResult
		sr.setSamplerData("請求參數num1:" + number1 + "\n請求參數num2:" + number2);// 參數放進sr
		try {
			sr.sampleStart(); // jmeter 開始統計響應時間標識
			int sum = Integer.parseInt(number1)+Integer.parseInt(number2);// 定義sum等于兩個參數相加,正式的邏輯代碼
			sr.setResponseData("兩個數相加的結果是:" + sum, "utf-8");// 結果放入sr,并設置字符集
			sr.setDataType(SampleResult.TEXT);
			sr.setSuccessful(true); // 設置響應執行成功
		} catch (Throwable e) {
			sr.setSuccessful(false);// 有異常,執行失敗
			e.printStackTrace();
		} finally {
			sr.sampleEnd(); // jmeter 結束統計響應時間標識
		}
		return sr;
	}

}

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

 

總結

到此這篇關于利用Jmeter發送Java請求的文章就介紹到這了,更多相關Jmeter發送Java請求內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/weixin_42561872/article/details/120131457

延伸 · 閱讀

精彩推薦
  • Java教程20個非常實用的Java程序代碼片段

    20個非常實用的Java程序代碼片段

    這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

    lijiao5352020-04-06
  • Java教程Java使用SAX解析xml的示例

    Java使用SAX解析xml的示例

    這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

    大行者10067412021-08-30
  • Java教程升級IDEA后Lombok不能使用的解決方法

    升級IDEA后Lombok不能使用的解決方法

    最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

    程序猿DD9332021-10-08
  • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

    Java BufferWriter寫文件寫不進去或缺失數據的解決

    這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

    spcoder14552021-10-18
  • Java教程小米推送Java代碼

    小米推送Java代碼

    今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

    富貴穩中求8032021-07-12
  • Java教程Java8中Stream使用的一個注意事項

    Java8中Stream使用的一個注意事項

    最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

    阿杜7482021-02-04
  • Java教程Java實現搶紅包功能

    Java實現搶紅包功能

    這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

    littleschemer13532021-05-16
  • Java教程xml與Java對象的轉換詳解

    xml與Java對象的轉換詳解

    這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

    Java教程網2942020-09-17
主站蜘蛛池模板: 小草高清视频免费直播 | 肥胖老寡妇做性 | 亚洲 综合 欧美在线视频 | 日本一区二区三区视频在线观看 | 国产亚洲综合精品一区二区三区 | 西施打开双腿下面好紧 | 91天堂影院| 成人啪精品视频免费网站 | 国产日本欧美亚洲精品视 | 免费一级毛片在级播放 | 大学生初次破苞免费视频 | 色天天综合色天天看 | 爱欲荡漾在线观看 | 九九99香蕉在线视频免费 | 精品综合久久久久久97超人 | 狠狠色狠狠色综合曰曰 | 三叶草私人研究所 | 免费在线视频观看 | 日本艳鉧动漫1~6在线观看 | 包射屋 | 91国产在线观看 | 青草色视频 | 高级黄色片| 欧洲男同直粗无套播放视频 | 丰满的闺蜜2中文字幕 | 色欲麻豆国产福利精品 | 国产午夜精品一区二区三区 | 天天噜| 国产清纯91天堂在线观看 | 2022最新国产在线不卡a | 免费观看在线永久免费xx视频 | 国产一卡二卡3卡4卡四卡在线视频 | 双性太子 | 免费超级乱淫播放手机版 | 99久久久久久久 | 涩涩国产精品福利在线观看 | 亚洲精品97福利在线 | 我的美女奴隶 | 刺激一区仑乱 | 男人的j插入女人的p | 国产做a爰片久久毛片 |