Jmeter 更改“;“用户定义变量”;基于外部变量

Jmeter 更改“;“用户定义变量”;基于外部变量,jmeter,beanshell,Jmeter,Beanshell,我在尝试基于现有变量更改用户定义的变量时遇到了一些问题 BeanShell: String databaseSize; if (${__P(DBsize,${DB_size})} == '0') { vars.put("databaseSize","SmallDB"); } else if (${__P(DBsize,${DB_size})} == '1') {vars.put("databaseSize","LargeDB");} 用户定义变量 名称:路径 值:${uu

我在尝试基于现有变量更改用户定义的变量时遇到了一些问题

BeanShell:

String databaseSize;

if (${__P(DBsize,${DB_size})} == '0') {
vars.put("databaseSize","SmallDB"); }
    else if (${__P(DBsize,${DB_size})} == '1') 
    {vars.put("databaseSize","LargeDB");}
用户定义变量

名称:路径

值:${uu BeanShell(导入org.apache.jmeter.services.FileServer;FileServer.getFileServer().getBaseDir();)}\${databaseSize}

我想根据我在databaseSize中存储的内容更改路径。我在给定的路径中有两个文件夹:SmallDB和LargeDB。据我所知,在JMeter管理我的BeanShell之前,UDV已经被分配了

是否有基于另一个变量(从Jenkins接收或从文件接收默认值)更改路径的替代方法


谢谢

您可以使用
vars.put
添加JMeter变量:

 import org.apache.jmeter.services.FileServer; 

 vars.put("path",  FileServer.getFileServer().getBaseDir());

您可以使用
vars.put
添加JMeter变量:

 import org.apache.jmeter.services.FileServer; 

 vars.put("path",  FileServer.getFileServer().getBaseDir());
  • 对于任何形式的脚本,主要是因为和朋友
  • 您可以直接将其放入用户定义变量的
    Value
    节中-将在处理配置元素时对其进行评估
  • 为了将代码转换成一行较小的代码,您可以使用以下方法:

    ${__groovy((props.getProperty("DBsize").equals("0")) ? "SmallDB" : "LargeDB",)}
    
    因此,您的配置将是:

  • 对于任何形式的脚本,主要是因为和朋友
  • 您可以直接将其放入用户定义变量的
    Value
    节中-将在处理配置元素时对其进行评估
  • 为了将代码转换成一行较小的代码,您可以使用以下方法:

    ${__groovy((props.getProperty("DBsize").equals("0")) ? "SmallDB" : "LargeDB",)}
    
    因此,您的配置将是:


  • 谢谢你的建议。谢谢你的建议。谢谢你的建议。谢谢你的建议。