性能測試九:jmeter進階之beanshell的使用+斷言
一、使用
BeanShell使用方式一
BeanShell面板上寫腳本
// 從vars中獲取用戶定義的參數,並轉換為int類型
int p_skuId = Integer.parseInt(vars.get("p_skuId"));
// 進行邏輯判斷,如果是偶數,保存一個參數p_opt,值為“Rick”;如果是奇數,值為“Glen”
if (p_skuId % 2 == 0){
vars.put("p_opt","Rick");
}else{
vars.put("p_opt","Glen");
}
BeanShell使用方式二
引用外部java文件 步驟:
//引用外部java文件
source("D:\\md5\\Md5Util.java");
//獲取出原來的p_opt參數
String str_opt = vars.get("p_opt");
//調用Md5Util類中的getMd5Hex方法,將str_opt加密
String md5_opt = Md5Util.getMd5Hex(str_opt);
//將加密後的參數重新保存為一個mdt_opt參數,並放到vars中
vars.put("md5_opt",md5_opt);
BeanShell使用方式三
引入外部jar包 步驟:
1.“測試計劃”裏,Add directory or jar to classpath
2.import 所需要的類名
//導入類名
import com.lee.util.Md5Util;
//獲取出原來的p_opt參數
String str_opt = vars.get("p_opt");
//調用Md5Util類中的getMd5Hex方法,將str_opt加密
String md5_opt = Md5Util.getMd5Hex(str_opt);
//將加密後的參數重新保存為一個mdt_opt參數,並放到vars中
vars.put("md5_opt",md5_opt);
二、斷言
內置變量
Failure:是否失敗,boolean類型
FailureMessage:失敗日誌,在斷言失敗時顯示
例:
int stock = Integer.parseInt(vars.get("p_stock"));
if (stock > 1500){
Failure = true;
FailureMessage = "庫存數量超過了1500";
// ResponseData是服務器返回的byte[]類型的數據,如果想打印,必須轉換為String類型的,用new String(ResponseData)
log.info(new String(ResponseData));
//打印當前請求的url, SamplerData是String類型的數據
log.info(SamplerData);
}
性能測試九:jmeter進階之beanshell的使用+斷言