Jmeter-如果变量已经存在,则使用Java创建新变量
我正在使用Jmeter,希望使用Java来更新变量 我有一个名为XXVONO的变量,它存储值并在循环中执行时添加一个数字后缀。例如:Jmeter-如果变量已经存在,则使用Java创建新变量,java,jmeter,Java,Jmeter,我正在使用Jmeter,希望使用Java来更新变量 我有一个名为XXVONO的变量,它存储值并在循环中执行时添加一个数字后缀。例如: XXVONO_1 = value1 XXVONO_2 = value2 XXVONO_3 = value3 这些变量包含执行循环时自动存储的值。但是,我正在尝试编写一个代码来检查变量是否为空,如果为true,它将保存新值,如果为false,它将创建一个新变量(XXVONO_4),并在不覆盖现有变量的情况下保存该值 我该怎么做呢?我使用while循环吗 if
XXVONO_1 = value1
XXVONO_2 = value2
XXVONO_3 = value3
这些变量包含执行循环时自动存储的值。但是,我正在尝试编写一个代码来检查变量是否为空,如果为true,它将保存新值,如果为false,它将创建一个新变量(XXVONO_4),并在不覆盖现有变量的情况下保存该值
我该怎么做呢?我使用while循环吗
if (vars.get("VONO_2") != "") {
if (vars.get("XXVONO_" + vars.get("aps200_count_3")) == "") {
vars.put("XXVONO_" + vars.get("aps200_count_3"), vars.get("VONO_2"));
vars.put("XXJRNO_" + vars.get("aps200_count_3"), vars.get("JRNO_2"));
} else {
while (vars.get("XXVONO_" + vars.get("aps200_count_3")) != "") {
vars.put("new_count", vars.get("aps200_count_3"));
Integer temp = Integer.parseInt(vars.get("new_count")) + 1;
vars.put("new_count", temp.toString());
}
vars.put("XXVONO_" + vars.get("new_count"), vars.get("VONO_2"));
vars.put("XXJRNO_" + vars.get("new_count"), vars.get("JRNO_2"));
}
}
您可以尝试使用映射,而不是在运行时创建变量
Map<String,Object> map = new HashMap<>();
您可以使用if/else语句:
if (XXVONO_1 == null)
{
XXYVONO_1 = //Insert data here
}
else if (XXVONO_2 == null)
{
XXVONO_2 = //Insert data here
}
else if (XXVONO_3 == null)
{
XXVONO_3 == //Insert data here
}
else
{
XXVONO_4 == //Insert data here
}
当然,您可以继续添加变量
如果变量数量没有限制,请尝试以下操作:
HashMap<String, String> XXVONO = new HashMap<String, Integer>();
for (i = 1; i <= /*Number of variables*/; i += 1; i++) {
if (XXVONO["XXVONO_" + i] == null) {
XXVONO.put("XXVONO_" + i, /*insert data here*/);
}
}
HashMap XXVONO=newhashmap();
对于(i=1;i为什么使用jmeter标记?我在jmeter中使用了这个标记?我们可以看到代码吗?主要是如何创建变量.vars.put(“XXVONO_”+vars.get(“tmp_cnt”)、vars.get(“VONO_2”));向那些在我不太清楚的情况下发布答案以提供帮助的人致歉。我不熟悉格式,无法发布代码片段。我刚刚添加了用于JMeter的代码。您在此处添加的解决方案是否适用于JMeter?我希望这样编码,以便每次都自动添加新的数字后缀e我执行脚本并存储VONO_2/JRNO_2中的值应该有多少个变量?如果没有,我建议使用数组/哈希。我添加到了答案中。
HashMap<String, String> XXVONO = new HashMap<String, Integer>();
for (i = 1; i <= /*Number of variables*/; i += 1; i++) {
if (XXVONO["XXVONO_" + i] == null) {
XXVONO.put("XXVONO_" + i, /*insert data here*/);
}
}