在不同的线程组下定义基于范围的用户定义变量

时间:2014-04-28 14:19:25

标签: jdbc automation jmeter

我在jmeter中有一个测试计划的多个线程组。我想将用户定义的值定义到特定的线程组,变量名称可以在另一个线程组中为其用户定义的值重复。

当我尝试执行上述操作时,它会在线程组中获取相同变量名的最后一个值,而不是使用范围。

用于查询的jdbc请求

3 个答案:

答案 0 :(得分:0)

JMeter变量的范围仅限于当前的线程组。要使JMeter变量对所有线程组可见,您需要将它们转换为JMeter属性。有关如何操作的详细信息,请参阅How to Use Variables in Different Thread Groups指南。

答案 1 :(得分:0)

我得到了解决方案。示例:如果您在随机顺序控制器下有一些测试用例,并且您有多个随机控制器。测试用例包含jdbc请求连接的变量名,然后您可以在随机顺序控制器中添加用户定义的变量,该变量将仅由其下的测试用例使用。 像这样,您可以将变量名称范围限定为特定的随机顺序控制器

答案 2 :(得分:0)

对于有相同问题并正在寻找有效解决方案的每个人,我都会回答这个“旧”问题。至少在JMeter 5.11中,Dmitri T的答案并不总是正确的。

来自JMeter文档:

  • 请注意,测试计划和用户定义的值 变量配置元素可用于整个测试 启动时计划。如果多个UDV定义了相同的变量 元素,则最后一个元素生效。线程启动后, 初始变量集被复制到每个线程。其他要素 例如用户参数预处理器或正则表达式 提取程序后处理器可用于重新定义相同的变量 (或创建新的)。这些重新定义仅适用于当前 线程。

使用局部变量(仅在实际的线程组中可见)的一种很好且可行的解决方案是使用“用户参数预处理器”而不是“用户定义的变量”配置元素。

快乐的负载测试...