在用户参数中,我有:
在用户定义变量中,我有:
在预处理器中,我有:
def varB = vars.get("varB");
def varA = vars.get("varA");
log.info(varB);
log.info(varA);
在后处理器中,我有:
def varA = vars.get("varA");
def varB = vars.get("varB");
log.info("varA = $varA");
log.info("varB = $varB");
vars.put("varB", "varA");
log.info("After change = $varB");
但varB没有更新:
2023-03-04 12:51:33,674 INFO o.a.j.m.J.JSR223 PreProcessor: xyz
2023-03-04 12:51:33,674 INFO o.a.j.m.J.JSR223 PreProcessor: abc
2023-03-04 12:51:33,913 INFO o.a.j.e.J.JSR223 PostProcessor: varA = abc
2023-03-04 12:51:33,914 INFO o.a.j.e.J.JSR223 PostProcessor: varB = xyz
2023-03-04 12:51:33,914 INFO o.a.j.e.J.JSR223 PostProcessor: After change = xyz
我正在尝试存储varA
的值,以便可以在另一个测试负载中使用它(同一个线程组,并且我不想使用属性)
2条答案
按热度按时间cig3rfwq1#
不,在你的情况下它是可以访问的。错误在于保存参数。你没有传递变量,而是以字符串的形式传递
这将产生以下预期输出
q8l4jmvw2#
替换此行:
和这个
因为你传递的是
varA
的硬编码字符串,而不是变量值。此外,将Debug Sampler或调试后处理器与查看结果树侦听器结合使用,而不是将值打印到jmeter.log文件,可能会更容易