【问题标题】:Jmeter: Why doesn't my thread restart after a cycle is completed?Jmeter:为什么我的线程在一个循环完成后没有重新启动?
【发布时间】:2020-04-21 11:55:47
【问题描述】:

我有以下测试计划i Jmeter:

  • 线程组
    • 用户参数
    • CSV 数据源
    • 当控制器
      • 一次性控制器
        • http 采样器
      • http 采样器
        • RegEx 提取器(在 while 循环中查找作为条件的变量)
    • 如果控制器
      • Http 采样器
      • 将响应保存到文件
    • BeanShell 后处理器(清理使用的变量)

现在,我的问题是,当满足 If 控制器的条件时,线程完成后,它会按预期循环。 但是,如果不满足 If 控制器的条件,则线程完成后,运行停止,不会发生循环。

在线程组设置中,我有“Loop = 50”和“错误操作:启动下一个线程循环”

在系统的日志中,完全没有错误。

有什么想法吗?

【问题讨论】:

    标签: loops jmeter


    【解决方案1】:

    如果条件不满足,If Controller 的子节点将不会被执行,并且您不会在 jtl 结果文件中看到它们。

    如果您在 If 控制器之后添加即 Dummy Sampler,您将看到每个虚拟用户将执行 50 次虚拟采样器。

    更多建议:

    1. Since JMeter 3.1 you should be using JSR223 Test Elements and Groovy language 用于编写脚本
    2. 根据JMeter Scoping Rules,您的 BeanShell 后处理器将在每个采样器之后执行,我不知道它到底在做什么,但目前它正在在每个采样器之后执行 > 因此,它可能正在清理您在 While 或 If Controller 中使用的变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-25
      • 1970-01-01
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-02
      相关资源
      最近更新 更多