【问题标题】:How to override values in JMeter?如何覆盖 JMeter 中的值?
【发布时间】:2013-05-22 17:12:11
【问题描述】:

我目前面临一种情况,我在 1 个线程组中有 2 个线程。两个线程都使用不同的csv。为此,我在每个线程中放置了 1 个 CSV 数据集配置。问题是有一个名为 userId 的变量,这在两者的 csv 数据集配置中的变量名称中都很常见。因此,当第一个线程执行时,它会为userId 分配一个值,然后将其传递给另一个线程。

例如,

  • Thread1 >> 从 csv 读取值 >> 分配 userId=1104。
  • Thread2 >> 从 csv 读取值 >> 无法分配 userId=1105 但保留之前分配的值 userId=1104。

我已尝试将共享模式设为当前线程,但在这种情况下似乎不起作用。
请提出一条出路。

【问题讨论】:

  • 您如何在每个线程中读取不同的 csv?
  • 是的,这两个线程使用不同的 csv。
  • 如何让 JMeter 在每个线程中读取不同的 CSV?我不知道有什么方法可以做到这一点,所以想知道你是怎么做到的。最简单的方法是截取显示您的 CSV 数据集配置项的屏幕截图并将其发布在您上面的问题中
  • 由于我在这里的声誉,我无法发布图片。让我把场景说得更清楚。>>> 有 2 个采样器。两者都包含 1 个 CSV 数据集配置。如果变量名称在两个采样器的 csv 数据元素中是通用的,那么第一个采样器分配的值将保留在下一个采样器请求中。我认为混乱是关于上面提到的线程。将 Thread1 和 Thread2 替换为 Sampler1 和 Sampler2 保持在同一个线程组中。

标签: jmeter jmeter-plugins


【解决方案1】:

如果您在测试计划树中有两个具有相同变量名称的 CSV 数据集,在同一级别,您将看到您描述的行为。例如,如果它们都有一个名为 var1 的变量,那么它将在整个关卡中具有相同的值。

您可以使用 Simple Controller 元素,这样每个 CSV Data Set Config 都在自己的级别上,并且变量值不共享。

Simple Controller 除了将其他元素组合在一起之外没有任何逻辑,因此您只需创建两个,然后将其他元素移到其下方。

坏了

作品

【讨论】:

  • 在这种情况下,如果我有 50 个 Http 请求采样器,那么我需要 50 个简单控制器元素吗?
猜你喜欢
  • 1970-01-01
  • 2016-09-01
  • 2021-07-24
  • 1970-01-01
  • 2021-07-03
  • 2021-11-27
  • 2016-02-20
  • 1970-01-01
  • 2018-08-19
相关资源
最近更新 更多