我声明了1个用户定义的变量(A=等待),并且我在测试计划中有2个线程组。当第一个线程组完成其执行时,我将值更改为“go”(A=go)使用beanshell后处理器。现在,在第二个线程组中,我希望(一)应取更新值(意思是“go”而不是“wait”)但是我不能在第二个线程组中选择更新的值。我没有使用任何正则表达式提取器,只需要使用和更新用户定义的变量。
我尝试了beanshell前处理器和后处理器。首先我创建了1个beanshell采样器,在其中我改变了值(vars.put(“A1”,“go”);)然后我在第一个线程组中创建了1个beanshell后处理器(${__setProperty(A,${A1})}),然后在第二个线程组中添加了BeanShell预处理器以获取值(${__property(A)})
我还使用beanshellAssert将变量传递给下一个线程组,但下一个线程组没有捕获更新后的值。
1条答案
按热度按时间flvlnr441#
如果你不想使用脚本-看看线程间通信插件
有一个示例测试计划显示了如何共享变量。
接下来请注意,从JMeter 3.1开始,建议使用JSR223测试元素和Groovy语言编写脚本,在Groovy中,您应该避免内联JMeter Functions or Variables
因此:
1.在第一线程组中:
1.在第二螺纹组中:
或者,如果您喜欢某个函数:
演示: