1、性能測試過程中,有時候開發想對JAVA代碼進行性能測試,Jmeter是支持對Java請求進行性能測試,但是需要自己開發、打包好要測試的代碼,就能在Java請求中對該java方法進行性能測試
2、本文舉的例子是Java實現通過傳入兩個參數,將值寫入到文件中
- 開發思路
1、使用Eclipse創建Maven 項目,配置Pom文件,引入Jmeter開發Java請求所需的依賴包;
2、創建輸入參數類,和測試類,然後繼承JavaSamplerClient,實現四個主方法;
3、對編寫好的項目進行編譯、打包
4、把打包好的函數放到jmeter擴展目錄,調用Java請求,對封裝的Java方法進行測試;
JDK環境 | Jmeter依賴包版本 | Maven倉庫版本 |
---|---|---|
1.8 | 4.0 | 3.5.3 |
Java_Sample完整項目下載地址 測試提取碼:g8do
一、新建Maven項目
1.File》New》Project,選擇Maven》Maven Project,一直點擊Next
2.配置Pom文件,Pom文件配置的Jmeter4.0版本,只要保存了Pom文件,系統就會自動下載和關聯相應的jar包,Pom配置文件如下:
3.保存Pom文件之後,系統會自動下載關聯的依賴文件,會用到的爲ApacheJMeter_core-4.0.jar和ApacheJMeter_java-4.0.jar如下圖:
保存前:
保存後:
4.此時,由於對pom文件進行了修改,項目頂層會出現一把×,並且編譯可能就會報錯,需要執行Maven》Update Project更新外部依賴的Jar包
- 更新前:
-
更新後,編譯、打包正常:
二、編寫輸入參數類,和測試類1.1. 輸入參數類,該類就是被測試的java方法,主要是實現將參數寫入到文件,代碼如下:
1.2. 測試類,首先在com.xiet.Java_Sample包下創建一個類,類名爲Jmeter_Test,需要繼承JavaSamplerClient類,然後實現父類的四個方法,和一個main方法 - main主方法主要是用來本地調試,用來測試封裝的Java方法是否功能正常,如果能實現正常功能,就可以進行編譯、打包在Jmeter中進行調用
- setupTest方法爲初始化方法,實際運行時每個線程僅執行一次,在測試方法運行前執行,默認置空即可
- runTest方法爲測試方法,該方法用來傳入輸入的參數,然後調用參數類,進行測試
- teardownTest方法爲結束方法,實際運行時每個線程僅執行一次,在測試方法結束後執行,默認置空即可
- getDefaultParameters方法爲設置傳入的參數,可以設置多個,已設置的參數會顯示到Jmeter的參數列表中
如下所示:
三、編譯、打包
- 編寫代碼完成,就可以進行編譯、打包操作了,右鍵點擊項目》Run As》Maven build
- 在Goals中輸入package,然後點擊Apply》Run執行編譯,打包操作
- 編譯打包完成,在target目錄會生成一個jar包,如下圖所示
四、驗證開發的函數是否正常
- 首先把Java_Sample_0.1.jar函數放到jmeter的\lib\ext目錄
- 然後啓動Jmeter,線程組》添加》Sample》Java請求
- 在類名稱中選擇封裝的Java類,爲com.xiet.Java_Sample.Jmeter_Test,該類名稱爲包名+類名
-
本次設置2線程,2循環,點擊執行按鈕,執行結果如下:
***
完整源碼如下: