两个用户定义变量在合并线程组时在Jmeter中发生冲突

时间:2013-09-18 09:34:14

标签: jmeter

您将两个线程组合并到单个测试计划中,并为它们提供了两个用户定义的变量元素

在两个用户定义的变量中,我都有一个名为rubyUrl的变量,它在每个线程组中具有不同的值 当我一起执行测试计划时,由于变量名称冲突,我面临问题 两个不同的线程组

请帮助我如何告诉Jmeter它应该从哪个线程组中选择变量

2 个答案:

答案 0 :(得分:4)

你的发现是正确的,但背后的原因是不同的。

用户定义的变量(配置元素)在测试开始时被初始化和处理,即如果你有三个不同的用户定义的变量元素具有相同的变量名但在三个不同的线程组中具有不同的值,那么甚至在线程组之前执行时,所有用户定义的变量都被初始化,因此只保留最后一个处理过的值。

另一方面,如果使用用户参数元素(预处理器),则在执行该线程之前对其进行初始化和处理。因此,如果您有三个不同的用户定义变量元素具有相同的变量名但在三个不同的线程组中具有不同的值,那么每次执行线程组时都会处理该值。

答案 1 :(得分:1)

!!!!!!!!!! Eureka找到了解决这个问题的方法!!!!!!!!! 我们可以在Jmeter中使用像User-parameter这样的预处理器 因为用户参数是单个线程组的个体,而不像测试计划通用的用户定义变量

在用户定义的vaiables中添加具有相同名称的变量,并将其添加到每个线程组中。

还有其他更好的方法来做这件事,就像在java中一样,比其他更好的方式来自我们的方式:)