如何从文件中读取线程组线程和循环计数?

时间:2016-08-15 16:23:11

标签: jmeter

我为用户提供了大量的csv数据集,具体取决于我在测试中的位置,例如调试测试,运行较小的数据集作为完整性检查,或者是完整的大型数据集,我是喜欢在文件中有一些测试默认值。我也希望在一组独立的jmeter测试之间共享此文件。

我创建了另一个csv文件,首先用另一个CSV数据集读取它,并且变量适用于Http Defaults作为示例,完美。但是,我无法将这些变量用于线程组的线程和循环计数,或者用于主线程组中的用户的文件名。

当然有一种方法可以从文件中读取变量值来初始化线程组吗?

2 个答案:

答案 0 :(得分:3)

尝试使用 JMeter属性

来自Apache JMeter Documentation

  

属性与变量不同。变量是线程的本地变量;属性对所有线程都是通用的,需要使用 __ P __ property 函数进行引用。

因此,您可以直接在jmeter.propertiesuser.properties文件中定义所需的属性 - 它们位于JMeter" bin"文件夹如:

Threads_count=1

这将由JMeter在启动时加载并在线程之间共享。您可以通过编辑jmeter.propertiesuser.properties文件来实现此目的。但建议您编辑user.properties文件。

但你必须这样做:

在jmeter.properties 文件中:

enter image description here

在user.properties 文件中:

enter image description here

现在,您可以在Thread Group

中使用这样的属性
${__P(Threads_count)}

要定义属性值,请参阅__P函数。

类似地,您可以将它用于循环计数,这将在一组单独的JMeter测试之间共享。

答案 1 :(得分:1)

您要寻找的是属性而非变量。

属性在线程之间共享,变量不是:

所以你要做的就是把你的"属性"在jmeter_home / bin / user.properties中,它们将在启动时由JMeter加载并在线程之间共享。

然后,您可以使用__P功能使用您的属性,例如:

  

$ {__ P(group1.threads)}

将使用user.properties中定义的名为group1.threads的属性