jmeter元件作用域和执行顺序

上述所说的8类可被执行的元件,在目录树中的相对节点关系为:TestPlan=》ThreadGroup=》Others。值得注意的是,每个测试脚本中有且只能有一个TestPlan,该TestPlan下至少包含一个以上的ThreadGroup。

元件作用域

在JMeter中,元件作用域是靠TestPlan树型结构中元件的父子关系来决定的,具体如下:
1. 配置元件(Config Element)
该元件作用于元件父节点下的所有元件。
2. 前置处理器(PerProcessors)
该元件作用于元件父节点下的每一个Sampler元件,且在Sampler元件被执行前执行。
3. 定时器(Timers)
该元件作用于元件父节点下的每一个Sampler元件。
4. 取样器(Sampler)
该元件不对其他元件发生交互作用,而是其他元件对其发生交互作用。
5. 后置处理器(PostProcessors)
该元件作用于元件父节点下的每一个Sampler元件,且在Sampler元件被执行后执行。
6. 断言(Assertions)
该元件对元件父节点下的每一个Sampler元件执行后的结果进行校验。
7. 监听器(Listeners)
该元件收集并记录其父节点下的每一个Sampler元件的测试结果。
综上可知,JMeter元件作用域的基本原则为:
1)取样器(Sampler)由于只能被交互,因此不存在作用域问题。
2)逻辑控制器(LogicConrtollers)提供一个块的结构,仅对其子节点中的取样器(Sampler)和逻辑控制器(LogicConrtollers)起作用。
3)父节点下的每一个Sampler元件是指父节点下的所有后代节点,包括子节点、子子节点等。

元件执行顺序

JMeter脚本显示的是树型结构,元件的执行顺序类似二叉树的中序遍历,先执行根节点再执行子节点,具体:
Step1:配置元件(如果存在);
Step2:前置处理器(如果存在);
Step3:定时器(如果存在);
Step4:取样器(如果存在);
Step5:后置处理器(如果存在且取样器返回结果非空);
Step6:断言(如果存在且取样器返回结果非空);
Step7:监听器(如果存在且取样器返回结果非空);

注:1)如果元件的作用对象不存在,则其不会被执行,如断言作用域内没有取样器,则断言不被执
2)同一作用域范围内存在多个同一类型的元件,则这些元件按其在TestPlan中的上下顺序依次被执行;
3)如果选择某个Step为永远循环,那么线程只会永远执行该Step节点下的元件,其前后面所有的Step都不会被执行。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值