BeanShell后置处理器中配置如下脚本:
String projectId = vars.get("project_id_"+1);
vars.put("projectId",projectId);
log.info("测试所用项目为:"+projectId);
//设置全局变量
${__setProperty(ide_project_id,projectId,)};
运行后,在JMeterProperties中ide_project_id的值为projectId
原因:
Jmeter 函数中不支持调用 Java 定义的变量。
${__setProperty(ide_project_id,projectId,)};
也就是使用 projectId 赋值给属性 ide_project_id,所以你获得的值就是projectId。
但Jmeter 函数中支持嵌套 Jmeter 自己的变量,如:
将随机数函数直接放在 ${__setProperty(
ide_project_id
,${__Random(0,1000)},)}
即可
如果一定要用 java 变量的话,则在设置属性时,使用 props.put() 方法即可。
String projectId = vars.get("project_id_"+1);
props.put("ide_project_id",projectId) ;