Jmeter之Bean shell使用(二)
上一篇Jmeter之Bean shell使用(一)簡單介紹了下Jmeter中的Bean shell,本文是對上文的一個補充,主要總結下常用的幾種場景和方法,相信這些基本可以涵蓋大部分的需求。本節內容如下:
一、操作變量
二、操作屬性
三、自定義函數
四、引用外部java文件
五、引用外部class文件
六、引用外部Jar包
七、其它用法(接受參數, log等)
一、操作變量:通過使用Bean shell內置對象vars可以對變量進行存取操作
a) vars.get("name"):從jmeter中獲得變量值
b) vars.put("key","value"):數據存到jmeter變量中
二、操作屬性:通過使用Bean shell內置對象props 可以對屬性進行存取操作
a) props.get("START.HMS"); 註:START.HMS為屬性名,在文件jmeter.properties中定義
b) props.put("PROP1","1234");
三、自定義函數:
在BeanShell中,我們可以使用java語言自定義函數來處理特定的邏輯,結合BeanShell的內置對象進行變量的存取,方便我們進行測試提高腳本的靈活性。
示例:
1、在Test Plan中添加一個變量:hello = kitty
2、Debug sampler-1和Debug sampler-2什麽都不處理,用來查詢對比beahshell處理前後的結果
3、BeanShell Sampler中的腳本如下:
4、運行結果:
- Debug sampler-1中顯示:hello=kitty
- BeanShell sampler中 返回結果為:success
- Debug sampler-1中顯示:hello=world,jmeter=111111
四、引用外部java文件:
有沒有覺得上面(三)中自定義函數這樣的方式太麻煩並且也不美觀?而且如果我們已經有現成的java源文件或者class文件時,我們有沒有什麽辦法直接在jemter中引用?這就是這部分要介紹的內容,直接上示例:
1、假如我有一個java 源文件,名為:Myclass.java,代碼如下:
package test; public class Myclass { public int add(int a, int b) { return a + b; } }
Jmeter之Bean shell使用(二)