Jmeter是一款開源的性能測試工具,目前是行業內使用率最高的性能測試工具之一,Jmeter是使用JAVA語言開發的,本文介紹如何使用JAVA語言開發本身須要的擴展函數linux
- 目前業界流行的兩種開發模式,本文介紹第二種
一、使用Jmeter二次開源環境,直接在org.apache.jmeter.functions包下面開發本身須要的函數,而後導出該jar包,替換Jmeter目錄的ApacheJMeter_functions.jar文件
二、直接在Maven 項目下開發自定義函數,而後打包,該方法、簡單、高效
- 開發思路
一、使用Eclipse建立Maven 項目,配置Pom文件,引入擴展function所需的依賴包;
二、建立類,而後繼承AbstractFunction,實現四個主方法;
三、對編寫好的項目進行編譯、打包
四、把打包好的函數放到jmeter擴展目錄,調用自定義函數,檢查是否正確;
JDK環境 | Jmeter依賴包版本 | Maven倉庫版本 |
---|---|---|
1.8 | 4.0 | 3.5.3 |
1、新建Maven項目apache
1.File》New》Project,選擇Maven》Maven Project,一直點擊Next,此處Package包名必定要以.functions格式結束,不然開發出來的函數,Jmeter讀取不到
2.配置Pom文件,Pom文件配置的Jmeter4.0版本,只要保存了Pom文件,系統就會自動下載和關聯相應的jar包,Pom配置文件以下:
3.保存Pom文件以後,系統會自動下載關聯的依賴文件,以下圖:
4.此時,因爲對pom文件進行了修改,項目頂層會出現一把×,而且編譯可能就會報錯,須要執行Maven》Update Project更新外部依賴的Jar包windows
JMeter設計讓一些核心的類能夠在非UI的方式下運行的時候能被加載進來,這些類會被優先加載。加載這些類的時候是經過命名規則來實現的。全部實現function的類必需包含".functions",因此咱們自定義實現的類裏必須包含".functions",好比以下申明的包名爲:"jmeter.test.functions"微信
1.2. 首先在Jmeter.test.functions包下建立一個類,類名稱爲Save_Variable,須要繼承AbstractFunction類,而後實現父類的四個方法ide
getArgumentDesc函數用來獲取對輸入參數的描述函數
4、驗證開發的函數是否正常工具
使用一個sample調用該函數,以下所示
也可使用後置處理器調用性能
本次執行腳本的目錄爲script下,因此會在相同層級目錄的data中生成測試
- 函數功能介紹
一、本次開發的函數實現的效果爲經過傳兩個變量,一個是文件名(用來保存參數),一個是變量(能夠傳入多個參數),自動保存獲取的變量
二、根據你執行腳本的路徑,若是是在script下執行,就會在上一個層級的data目錄(無則自動生成該目錄)保存該變量,若是是在其它目錄執行腳本,則會在執行目錄下的data目錄(無則自動生成該目錄)保存該變量,變量文件夾也是會自動建立,若是已經存在該文件,則會自動追加變量到該文件
三、實現變量值篩選,若是獲取的變量有一個爲空值,也不會保存該次獲取的其它變量
四、windows和linux環境均可用
五、性能測試過程當中,常常有需求想要大批量保存獲取的變量,而且是關聯的變量,須要實現多個變量保存在同一行csv,方便其它案例調用,目前jmeter內置函數沒有該功能,本次開發的函數就能實現該需求
Jmeter.test.functions.jar下載方法見文章末尾介紹
完整源碼以下:ui
若是文章對你有幫助,能夠在右下角點擊關注功能,歡迎轉發、拍磚,本人會持續推出與測試有關的文章,與你們分享測試技術,每一篇原創文章都是用心編寫,杜絕抄襲複製,微信公衆號與本平臺文章同步,方便你們查閱
QQ技術交流羣:加羣請輸入驗證信息51CTO
微信二維碼關注公衆號:
關注以後,回覆資源下載,便可獲取本人共享的各類資源下載地址