我有一个包含 2 个线程组的 JMeter 测试 - 第一个是单个线程(创建一些库存),第二个有多个线程(购买所有库存)。我使用 BeanShell Assertions 和 XPath Extractors 来解析返回值(XML)并存储变量(例如要购买的商品的 id)。
但是,在第一个线程组中创建的值,是否提取到标准中${jmeter}
类型变量,或者${__BeanShell(vars.get("jmeter"))}
类型变量在第二个线程组中不可用。是否有办法在第一个线程组中创建一个变量并使其对第二个线程组可见?
我无法使用变量来执行此操作(因为这些变量是各个线程的本地变量)。但是,我能够通过属性解决这个问题!
同样,我的第一个 ThreadGroup 完成了所有设置,并且我需要该工作中的一些信息可供第二个 ThreadGroup 中的每个线程使用。我在第一个 ThreadGroup 中有一个 BeanShell 断言,内容如下:
${__setProperty(storeid, ${storeid})};
${storeid} 是使用 XPath Extractor 提取的。 BeanShell 断言还执行其他操作,例如检查上一次调用是否返回了 storeid 等。
无论如何,在第二个 ThreadGroup 中,我可以使用 Samplers 中“storeid”属性的值,如下所示:
${__property(storeid)}
奇迹般有效!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)