我为用户提供了大量的csv数据集,具体取决于我在测试中的位置,例如调试测试,运行较小的数据集作为完整性检查,或者是完整的大型数据集,我是喜欢在文件中有一些测试默认值。我也希望在一组独立的jmeter测试之间共享此文件。
我创建了另一个csv文件,首先用另一个CSV数据集读取它,并且变量适用于Http Defaults作为示例,完美。但是,我无法将这些变量用于线程组的线程和循环计数,或者用于主线程组中的用户的文件名。
当然有一种方法可以从文件中读取变量值来初始化线程组吗?
答案 0 :(得分:3)
尝试使用 JMeter属性。
来自Apache JMeter Documentation,
属性与变量不同。变量是线程的本地变量;属性对所有线程都是通用的,需要使用 __ P 或 __ property 函数进行引用。
因此,您可以直接在jmeter.properties
或user.properties
文件中定义所需的属性 - 它们位于JMeter" bin"文件夹如:
Threads_count=1
这将由JMeter在启动时加载并在线程之间共享。您可以通过编辑jmeter.properties
或user.properties
文件来实现此目的。但建议您编辑user.properties
文件。
但你必须这样做:
在jmeter.properties 文件中:
在user.properties 文件中:
现在,您可以在Thread Group
:
${__P(Threads_count)}
要定义属性值,请参阅__P函数。
类似地,您可以将它用于循环计数,这将在一组单独的JMeter测试之间共享。
答案 1 :(得分:1)
您要寻找的是属性而非变量。
属性在线程之间共享,变量不是:
所以你要做的就是把你的"属性"在jmeter_home / bin / user.properties中,它们将在启动时由JMeter加载并在线程之间共享。
然后,您可以使用__P功能使用您的属性,例如:
$ {__ P(group1.threads)}
将使用user.properties中定义的名为group1.threads的属性