如何在JMeter中将变量从一个线程组传递到另一个线程组

我有一个带有2个线程组的JMeter测试-

第一个是一个线程(创建一些库存),第二个有多个线程(购买所有库存)。我使用BeanShell断言和XPath提取器来解析返回的值(即XML)并存储变量(例如要购买的商品的ID)。

但是,在第一个线程组中创建的值(无论是提取到标准${jmeter}类型变量中还是${__BeanShell(vars.get("jmeter"))}类型vars中)在第二个线程组中均不可用。无论如何,在第一个线程组中创建一个变量并使第二个线程组可见?

回答:

我无法使用变量执行此操作(因为这些变量在各个线程中都是局部的)。但是,我能够通过属性解决此问题!

同样,我的第一个ThreadGroup完成了所有的设置,我需要该工作中的一些信息才能供第二个ThreadGroup中的每个线程使用。我在第一个ThreadGroup中有一个BeanShell断言,其内容如下:

${__setProperty(storeid, ${storeid})};

$ {storeid}是使用XPath提取器提取的。BeanShell断言还执行其他操作,例如检查是否从上一次调用返回了storeid等。

无论如何,在第二个ThreadGroup中,我可以将Samplers中“ storeid”属性的值与以下内容一起使用:

${__property(storeid)}

奇迹般有效!

以上是 如何在JMeter中将变量从一个线程组传递到另一个线程组 的全部内容, 来源链接: utcz.com/qa/426859.html

回到顶部