JMeter全局变量之__setProperty跨线程传参

添加--后置处理器 -- BeanShell PostProcessor

设置BeanShell PostProcessor ,内容如下:

${__setProperty(newresult,${result},)}




设置全局变量 后置处理器 :${__setProperty(uid,${uid},)},

取全局变量:${__property(uid)}


在线程组2中使用_p函数来调用jmeter属性,获取属性值,从而实现跨线程组,参数值传递。

${__P(变量名)} 基本等同于${__property(变量名)}

 

因此通过__setProperty基本上可以完成全局变量的设置,及后续参数的调用。

 
--------------#####MD5在4.1以上jmeter处理流程前置处理器####----------------------

import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.digest.DigestUtils;
String str = "12345678";
String md5 = DigestUtils.md5Hex(str.getBytes("UTF-8"));
vars.put("md5",md5.toString());

-----------------------------------分割线------------------------------------------------------
断言多个sql时:
if("206".equals("${action_seq_1}") && "3".equals("${trans_status_1}")){
    Failure = false;
    FailureMessage = "交易成功!";
}else if(!"206".equals("${action_seq_1}")){
     Failure = true;
    FailureMessage = "交易类型不正确!";
}else if(!"3".equals("${trans_status_1}")){
    Failure = true;
    FailureMessage = "交易未成功!";
}
-----------------------------------分割线------------------------------------------------------
//判断风控数据库数据是否status=8
if("8".equals("${status_1}"))
{
    Failure = false;
    FailureMessage = "风控授信模型测试通过,审核通过status=8!";
}else if( !"8".equals("${status_1}")){
     Failure = true;
    FailureMessage = "风控授信模型测试不通过,审核不通过status !=8";


###自动获取pid关闭kill脚本的命令:

pids=`ps -ef|grep -v grep |grep /data/apps/stg_shop-web-server |awk '{print $2}'`

for pid in $pids
do
kill -9 $pid
done

./stg_shop-web-server-web  restart

--------------------------新增1000个字符串------
Beanshell 前置处理器
import java.util.*;
List list = new ArrayList();
for (int i= 0; i < 101; i++){
 list.add("\"${__UUID}\"");
};
log.info("RIST"+ list.toString());
vars.put("RIST",list.toString());



结果如下:

 

 

posted @ 2023-12-22 12:00  宝玲  阅读(349)  评论(0)    收藏  举报