【问题标题】:How can I read Thread Group threads and loop count from a file?如何从文件中读取线程组线程和循环计数?
【发布时间】:2016-12-21 21:17:43
【问题描述】:

我有一个大型 csv 数据集供用户使用,这取决于我在测试中所处的位置,例如调试测试、运行较小的数据集作为健全性检查或完整的大型数据集,我想要一些测试文件中的默认值。我还希望在一组单独的 jmeter 测试之间共享这个文件。

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

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

【问题讨论】:

  • 开枪,当我回到这个问题时,当我和另一个人一起做的时候,我没有抓住你的那个不是已经被赞成并列为答案的那个。我也赞成你的。

标签: jmeter


【解决方案1】:

尝试使用 JMeter 属性

来自Apache JMeter Documentation

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

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

Threads_count=1

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

但你必须这样做:

在 jmeter.properties 文件中:

在 user.properties 文件中:

现在,您可以在 Thread Group 中使用类似这样的属性:

${__P(Threads_count)}

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

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

【讨论】:

    【解决方案2】:

    您正在寻找的是属性而不是变量。

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

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

    然后您可以使用__P 函数使用您的属性,例如:

    ${__P(group1.threads)}

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多