我对变量的可见性范围有疑问。我有两个线程组,每个都有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
感谢您的帮助!
答案 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;。
因此,您可能希望相应地使用唯一变量。