[TOC]
自帶函數(shù)
time 獲取時(shí)間
時(shí)間規(guī)則:年 = yyyy, 月=MM,日=dd,小時(shí)=HH,分鐘=mm,秒=ss
格式簡寫:
YMD = yyyyMMdd
HMS = HHmmss
YMDHMS = yyyMMD-HHmmss
示范
獲取13位時(shí)間戳(毫秒級(jí)): ${__time(,)}
獲取10位時(shí)間戳(秒級(jí)):$(__time(/1000,))
生成知道格式時(shí)間:時(shí)間格式:yyyy-MM-dd HH:mm:ss = = ${__time(yyyy-MM-dd HH:mm:ss,)}蓄愁,獲取當(dāng)前時(shí)間
timeShift 時(shí)間位移捂龄,指定過去或?qū)頃r(shí)間
顯示格式為yyyyMMdd,時(shí)間基準(zhǔn)20200420灵再,向后推移2天:
顯示格式為時(shí)間戳(毫秒級(jí)),時(shí)間基準(zhǔn)為當(dāng)前時(shí)間蛛枚,向后推移10分鐘
${__timeShift(,,PT10M,,)}
顯示格式為 yyyy/MM/dd HH:mm:ss术荤,時(shí)間基準(zhǔn)為 2020/04/17 17:38:00雌澄,向后推遲 10分20秒
${__timeShift(yyyy/MM/dd HH:mm:ss,2020/04/17 17:38:00,PT10M20S,,)}
Random 生成隨機(jī)數(shù)
${__Random}
一種是利用【__Random】函數(shù)(生成的隨機(jī)數(shù)不唯一斋泄,可能會(huì)重復(fù))
UUID 生成唯一隨機(jī)數(shù)
${__UUID}
digest 獲取MD5,SHA的結(jié)果
BeanShell PreProcessor
BeanShell是一個(gè)小型嵌入式Java源代碼解釋器,具有對(duì)象腳本語言特性镐牺,能夠動(dòng)態(tài)地執(zhí)行標(biāo)準(zhǔn)JAVA語法炫掐,并利用在JavaScript和Perl中常見的的松散類型、命令睬涧、閉包等通用腳本來對(duì)其進(jìn)行拓展募胃。BeanShell不僅僅可以通過運(yùn)行其內(nèi)部的腳本來處理Java應(yīng)用程序,還可以在運(yùn)行過程中動(dòng)態(tài)執(zhí)行你java應(yīng)用程序執(zhí)行java代碼畦浓。因?yàn)锽eanShell是用java寫的痹束,運(yùn)行在同一個(gè)虛擬機(jī)的應(yīng)用程序,因此可以自由地引用對(duì)象腳本并返回結(jié)果讶请。
參數(shù)描述
| 屬性 | 描述 |
| 名稱 | 該元件的描述性名稱祷嘶,用于在測試樹種標(biāo)識(shí)元件。 |
| Reset bsh.Interpreter before each call | 如果設(shè)置該選項(xiàng)夺溢,那么就會(huì)為每個(gè)采樣器重新創(chuàng)建解釋器论巍。 |
| Parameters to be passed to Bean Shell | 傳遞給BeanShell腳本的參數(shù)。參數(shù)存在于如下變量表中:
1)String Parameters:包含有參數(shù)的字符串企垦,作為單個(gè)變量存在
2)String []bsh.args:包含有參數(shù)的字符串?dāng)?shù)組环壤,以空格作為間隔 |
| Script file | 一個(gè)文件晒来,其中包含有待運(yùn)行的BeanShell腳本 |
| Script |
BeanShell腳本钞诡。返回值將被忽略。
|
常用內(nèi)置方法
log: 輸出到日志文件湃崩,寫入bin/jmeter.log文件荧降,使用方法:log.info("hello, jin")
-
vars: 方法jmeter變量,提供獲取/定義變量的方法
vars.get("user_id"): 從jmeter獲取user_id的變量值
vars.put("req": value): 把value的值定義到j(luò)meter變量req中
自帶commons-codes.jar包做md5
示范:獲取用戶密碼攒读,對(duì)它做32位的md5加密并注入到j(luò)meter命令seq中
import org.apache.commons.codec.digest.DigestUtils;
String pwd = vars.get("user_passwd");
String pwd_md5 = DigestUtils.md5Hex(pwd);
log.info("pwd_md5:{}",pwd_md5);
vars.put("seq",pwd_md5);
參考資料: