在Jmeter實際的使用中,根據業務往往需要構造一些數據源,比如虛擬用戶的賬號信息等,為了快速靈活,較好的方式往往是通過代碼來輔助生產數據。
故在Jmeter支持的眾多 sampler 或 前/后置處理器 中,一般借助 Beanshell(推薦) 或 JSR223 等來實現。(源碼示例為隨機生成中國地區的手機號)
對於 Beanshell,一般調用 Java 源碼的方式有三種:
- 通過 beanshell sampler or PreProcesser or PostProcesser 直接進行 Java 編碼
- 通過 beanshell sampler or PreProcesser or PostProcesser 引入本地 Java 源碼文件
- 通過導入的 jar 包,在beanshell sampler or PreProcesser or PostProcesser 中進行源碼的調用(推薦)
方法一:通過 beanshell sampler 直接進行 Java 編碼
略
方法二:通過 beanshell 引入本地 Java 源碼文件
如圖示,先將源代碼存放在本地的目錄,然后通過 beanshell 的關鍵字加載之。
#加載源碼文件
source("/Users/hailongchen/Documents/workspace/hailongchen/src/main/java/utils/PhoneNoGenerateUtil.java");
#調用源碼程序(略)
#使用 beanshell 存/取 變量
vars.put();
vars.get();
方法三:通過導入的 jar 包,在beanshell sampler中進行源碼的調用
Demo如圖示:
具體步驟參考:
-
先通過 jdk 的命令或者借助 IDE 編譯器的功能,生成 jar 包(一般不需要生成可執行 jar 包)
-
將 jar 包放入 jmeter 的目錄,並修改 jmeter.properties 文件(自行度娘)
-
啟動 jmeter,在測試計划中,導入 jar 路徑(該步驟可能不需要,可測試確認)
-
創建 beanshell 組件,按需引用源碼(需要注意源碼的 package 路徑,圖示為源碼在 package 名稱為 utils,類文件名稱為 PhoneNoGenerateUtil)
-
在 Beanshell 中調用 所引用 jar包的代碼(見 demo)