Jmeter 和全局 Beanshell 变量

Jmeter and global Beanshell variables

在jmeter中是否可以在不同的BeanShell Sampler中使用相同的变量? 我的目标是将我的 Amazon Kinesis Java 应用程序(已转换)导入 Jmeter,但这段代码的一部分是连接,我想在 jmeter 应用程序启动时设置一次。所以我必须在不同的 beanshell 中重新使用 AmazonKinesisClient 变量。可能吗? 谢谢

PS:我对 JSONObject 有同样的问题,但在这种情况下我使用了一个 jmeter 变量(将 json 存储为字符串)

如果两个 beanshell 采样器都在同一个线程中,则 beanshell 变量在它们之间共享。

vars.putObject("name",objectRef);
vars.getObject(“name”);

您可以根据 JMeter 最佳实践指南的 Sharing Variables 章节使用 bsh.shared 命名空间。

在第一个采样器中:

JSONObject myObject = new JSONObject();
....
bsh.shared.myObject = myObject;

在第二个(或其他)采样器中:

JSONObject myObject = bsh.shared.myObject;

有关 Beanshell 的更多提示和技巧,请参阅 How to use BeanShell: JMeter's favorite built-in component 指南。