尝试在基于现有变量的用户定义变量中进行更改时遇到麻烦。
BeanShell:
String databaseSize;
if (${__P(DBsize,${DB_size})} == '0') {
vars.put("databaseSize","SmallDB"); }
else if (${__P(DBsize,${DB_size})} == '1')
{vars.put("databaseSize","LargeDB");}
用户定义的变量
名称:路径
值:$ {__ BeanShell(import org.apache.jmeter.services.FileServer; FileServer.getFileServer()。getBaseDir();)} \ $ {databaseSize}
我想根据我在 databaseSize 中存储的内容更改路径。给定路径中有两个文件夹:SmallDB和LargeDB。据我所知,在JMeter设法运行我的BeanShell之前,已经分配了UDV。
是否存在基于其他变量(从Jenkins接收或从文件接收的默认值)更改 path 的另一种方法?
谢谢
答案 0 :(得分:1)
您可以使用vars.put
添加JMeter变量:
import org.apache.jmeter.services.FileServer;
vars.put("path", FileServer.getFileServer().getBaseDir());
答案 1 :(得分:1)
Value
节中-将在处理配置元素时对其进行评估您可以使用ternary operator以便将您的代码转换为更小的一行,例如:
${__groovy((props.getProperty("DBsize").equals("0")) ? "SmallDB" : "LargeDB",)}
因此您的配置将是: