gpt4 book ai didi

java - 在 Jmeter 中,如何使用 beanshell 采样器变量设置可变数量的线程?

转载 作者:行者123 更新时间:2023-11-30 07:04:07 24 4
gpt4 key购买 nike

在 JMeter 中,我有一个线程组,我想使用 jmeter 变量控制运行的线程数。在线程组中,我将线程数设置为 ${numThreads}。我有一个设置线程组,它有一个带有以下内容的 bean shell 采样器(它总是在主测试线程组之前运行):

vars.put("numThreads","5");

如果我在设置线程组的用户定义变量配置元素中设置 numThreads,它将使用正确的线程数。但是我想使用我在 bean shell 采样器中定义的变量来控制它,但它不起作用。我可以看到正在创建变量,并且可以在日志中打印该值,但是当我使用 bean shell 采样器时,线程组没有正确创建 5 个线程(它创建了 0 个线程)。我唯一能想到的是它们都创建了变量,但也许用户定义的配置元素将其创建为整数类型?当我调试变量的类型时,无论它是在用户定义的 parms 配置还是 bean shell 采样器中设置,它都显示为字符串。

log.debug(vars.get("numThreads").getClass().getName()); // this prints java.lang.String for both

为什么线程组没有根据 bean shell 变量创建正确数量的线程?

最佳答案

好吧,我明白了。看起来变量是线程特定的,属性对于整个测试是全局的。因此,当我的主线程组启动时,在设置线程组中设置变量超出了范围。现在我在 setupgroup beanshell 中设置一个属性并在主线程组中使用以下内容:

设置线程组 beanshell:props.put("threadCount","3");

在主线程组中,我可以使用以下命令启动正确数量的线程:${__P(threadCount)}

仍然不知道为什么用户定义的变量配置元素起作用 - 它必须生成属性而不是变量或其他东西。

关于java - 在 Jmeter 中,如何使用 beanshell 采样器变量设置可变数量的线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27828042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com