目錄
log:輸出類
Label:你自定義的組件的名稱
FileName:添加的腳本文件的文件名
Parameters:你傳入的參數,是一個字符串
args:你傳入的參數,是一個數組
Parameters和args的異同:
OUT:輸出類
props:封裝的Java中的這個類java.util.Properties
sampler:用來獲取取樣器的內容(如:請求頭、url、取樣器內容……)
ctx:上下文信息
vars:用來處理與自定義變量有關的操作
如何查閱官方文檔
注:本文以前置腳本為例
步驟:右擊“HTTP取樣器”-> 添加 -> 前置處理器 -> JSR223
也可以選擇BeanShell:
但是推薦選擇JSR223,因為官方推薦:
創建完成之后可以看到如下界面
JMeter也給我們提供了一些參數/類:
注:上面這個頁面中的Filename該屬性名有誤,應該為FileName。
log:輸出類
編寫輸出腳本
log.info("哈哈哈");
點擊運行后腳本的輸出結果需要在這里進行查看:
點擊這個三角可以彈出控制臺,里面會打印各種程序執行過程中的日志和腳本打印的東西
Label:你自定義的組件的名稱
log.info("打印Label的值:"+Label)
FileName:添加的腳本文件的文件名
以下面這段代碼為例
log.info("啦啦啦啦啦");
log.info(FileName);
log.info("kkkkk");
添加了腳本文件:
沒有添加腳本文件:
注:一旦添加了腳本文件,那么在下方輸入框中編寫的腳本將不會被執行
Parameters:你傳入的參數,是一個字符串
傳參的位置在此處:
args:你傳入的參數,是一個數組
傳參的位置和Parameters相同。
如果需要傳多個參數,參數與參數之間用英文空格分隔
Parameters和args的異同:
相同之處:
- 都可以接收用戶自定義傳入的參數(會將用戶傳入的所有字符當成一個字符串)。
不同之處:
- Parameters只能接收一個參數;
- args可以接收一個或多個參數,多個參數之間需要使用空格分隔
OUT:輸出類
這個類是封裝了java輸出方法的一部分。可以將內容打印至控制臺,而非GUI界面。
Java的輸出方法:System.out.println(); 而OUT類封裝了這段代碼的前半部分,即System.out
OUT.println("hahaha");
props:封裝的Java中的這個類java.util.Properties
理論上Properties類的方法都可以用
sampler:用來獲取取樣器的內容(如:請求頭、url、取樣器內容……)
注:sampler是一個接口,不是類,不是類。有多種實現方式。
如何看應該使用那個實現類的方法呢?最簡單的辦法就是隨便亂寫一個方法,然后看報錯信息是那個類:
根據報錯信息可以知道HTTP采樣器使用的是org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy這個實現類,所以此時可以去官方文檔查看這個實現類的方法。(文末有官方文檔查閱方法)
獲取請求參數:
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
log.info(sampler.getArguments().toString());
獲取請求頭信息并打印
log.info(sampler.sample().getRequestHeaders());
獲取url并打印出來:
log.info(sampler.sample().getUrlAsString());
獲取取樣器內容:
log.info(sampler.sample().getSamplerData());
ctx:上下文信息
vars:用來處理與自定義變量有關的操作
在jmeter中自定義變量使用‘${}’來獲取取值。
修改取樣器的參數:
設置變量:
vars.put("val", "筆記本電腦");
//打印請求參數
import org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase;
log.info(sampler.getArguments().toString());
獲取自定義變量:
vars.put("val", "筆記本電腦");
String a = vars.get("val");
log.info(a);
如何查閱官方文檔
步驟:右擊腳本組件 -> 幫助
點擊幫助后會在瀏覽器中自動跳轉至對應組件的官方文檔。
跳轉至此頁面后往下滑動頁面,可以看到這個
中間是方法名和參數配置,右邊為對應方法的介紹,最左側為方法的返回值類型。