【问题标题】:JMeter and random variable along with if controllerJMeter 和随机变量以及 if 控制器
【发布时间】:2017-06-20 05:24:05
【问题描述】:

我想通过使用随机变量来控制我的采样器执行。我有一系列点击 login,welcome,Bla,log out 。我希望对 6/10 请求执行注销并让其他人不登录(可以说 6 个请求将执行包括注销在内的整个序列,其中 4 个将执行不会执行注销)。如何实现在 JMETER 中也一样

我添加了一个随机变量 rand 并在线程组的开头将其设置在 1-10 之间。然后在 Logout 采样器上方我放置了一个 IF 控制器,我检查了 ${rand}>4 。我怎么总是让所有的序列都被执行。请提出我做错了什么

【问题讨论】:

  • 更正:让其他请求集不执行注销
  • 确保 rand 是一个 int 而不是一个字符串,你应该如何随机化?你可以使用随机变量

标签: jmeter


【解决方案1】:

你的方法有点奇怪,我的预期是问题出在以下几个方面:

  1. 您的 IF 控制器条件错误(检查 jmeter.log 文件是否有任何可疑条目)
  2. 您的随机变量设置错误,即它对所有虚拟用户(线程)具有相同的值,因此它们要么全部执行,要么不执行

所以我建议使用Throughput Controller 或Switch Controller 来设置这个60/40 分布。

有关详细信息,请参阅Running JMeter Samplers with Defined Percentage Probability 文章。

【讨论】:

    【解决方案2】:

    Jmeter 中的随机变量默认保存为长格式

    ${rand} > 4 不起作用。你需要改变

    条件为 ${rand} > 4.0

    或将随机变量输出格式更改为 00(2 位)

    见Manual

    【讨论】:

      【解决方案3】:

      这是通过创建配置元素 - 随机变量和 IF 控制器的组合来实现的

      1) 使用最小值和最大值创建随机变量以满足上述条件 2) 并且 IF 控制器能够检查 ${myrand}>4;

      这已经得出了预期的结果 - 谢谢大家

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-01
        • 2014-05-29
        • 1970-01-01
        相关资源
        最近更新 更多