【问题标题】:What is the order in which various items in the thread group are processed?线程组中各项的处理顺序是怎样的?
【发布时间】:2019-10-26 10:10:16
【问题描述】:

我对测试处理器如何处理各种任务的理解表明,将侦听器置于采样器之上对仅在采样器开始执行后才调用侦听器这一事实没有影响。类似地,无论预处理器任务是在 http 采样器之前还是之后,让在 http 采样器任务之后设置变量的预处理器不会影响该变量对 http 采样器可用的事实。

在测试计划设置中,我们可以选择是否连续运行线程组。但是,在线程组中,假设我们有如下列表所示的任务。是否有任何由测试处理器强制/遵循的隐式排序顺序(如我在第 1 段中提供的示例)?

  1. 几个 HTTP 请求(采样器)
  2. HTTP 标头管理器(配置元素)
  3. JSR223 PreProcessor(预处理器)
  4. 总结报告(听众)
  5. 查看结果树(监听器)
  6. 流控制动作(采样器)
  7. FTP 请求(采样器)
  8. 如果控制器(逻辑控制器)包含很少的 HTTP 采样器
  9. JSON 提取器(后处理器)
  10. 响应断言(Assertion)
  11. 恒定定时器(Timer)
  12. 恒定吞吐量计时器(Timer)

【问题讨论】:

    标签: jmeter


    【解决方案1】:
    1. Samplers 倒置执行(或根据Logic Controllers
    2. 其他测试元素根据Execution Order执行,如下所示:

      1. 配置元素
      2. 预处理器
      3. 定时器
      4. 采样器
      5. 后处理器(除非 SampleResult 为空)
      6. 断言(除非 SampleResult 为空)
      7. 监听器(除非 SampleResult 为空)

      还要注意Scoping Rules,例如,如果您有一个PreProcessor,它是某个采样器的子级 - 它将仅在此采样器之前执行。如果预处理器与多个采样器(或更高)位于同一级别 - 它将在每个采样器之前执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      相关资源
      最近更新 更多