JMeter使用变量(CSV数据集)

时间:2014-07-28 12:19:14

标签: jmeter

我对变量的可见性范围有疑问。我有两个线程组,每个都有CSV文件和控制器,包含http请求步骤,测试应用程序。

Thread Group1
    CSV file1
    Controller1
        Test Steps1
Thread Group2
    CSV file2
    Controller2
        Test Steps2

两个控制器都使用每个线程组的CSV文件中的值。但是,我想创建一个包含Controller1和Controller2的线程组组合

Thread Group Combined
    CSV file1
    CSV file2
    Controller1
        Test Steps1
    Controller2
        Test Steps2

问题是CSV文件都使用相同的变量名,因此我猜Controller1和Controller2不知道要使用哪个CSV文件。我仍然希望Controller1使用CSV file1和Controller2来使用CSV2。像这样的设置会起作用吗?

Thread Group Combined
    Controller1
        CSV file1
        Test Steps1
    Controller2
        CSV file2
        Test Steps2

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您使用'配置元素' - 放置它的位置无关紧要 - 它们就像全局变量(测试计划范围)。 在测试开始前初始化

假设我有这样的设置。

Thread Group 1
     User Defined Variable (A=100)

Thread Group 2
     User Defined Variable (A=150)  

现在如果我运行此测试 - 在线程组1下 - 如果我尝试打印A的值,它将是150.这是因为 - 这些变量的范围不在线程组内 - 它们是全局变量。< / p>

对于此设置,

Thread Group 1

Thread Group 2
     User Defined Variable (A=150)  

现在如果我运行此测试 - 在线程组1下 - 如果我尝试打印A的值,即使我在线程组1下没有用户定义的变量,它仍然是150。

但是 - 您使用Beanshell等创建的变量具有&#39;线程范围&#39;。

因此,您可能希望相应地使用唯一变量。