jmeter元件的作用域和顺序

jmeter是一个开源的性能测试工具,它可以通过鼠标拖拽来随意改变元件之间的顺序以及元件的父子关系,那么随着它们的顺序和所在的域不同,它们在执行的时候,也会有很多不同。

jmeter的test plan通过图形化的方式表达脚本,域代码方式的脚本不同,图形方式表达的脚本中无法使用变量和函数等描述元件的作用域,因此jmeter主要依靠test plan中元件的相对位置、

父子关系以及元件本身的类型来决定test plan中各元件的执行顺序;原件在test plan中的位置不同,可能导致该元件的行为有很大差异。(新版jmeter都可以自主选择语言,对号入座即可)

1、元件的作用域

jmeter中共有8类可被执行的元件(test plan和thread group不属于元件),其中,sampler(取样器)是不与其他元件发生交互的作用的元件,Logic Controller

(逻辑控制器)只对其子节点的sampler有效,而其他元件需要与sampler等元件交互。

Config Elements(配置元件):影响其范围内的所有元件

Pre-porcessors(前置处理器):在其作用范围内的每一个sampler元件之前执行

Timer(定时器):对其作用范围内的每一个sampler有效

Post-porcessors(后置处理器):在其作用范围内的每一个sampler元件之后执行

Assirtions(断言):对其作用范围内的每一个sampler元件执行后的结果执行校验

Listener(监听器):收集其作用范围内的每一个sampler元件的信息并且呈现出来

在jmeter中,元件的作用域是靠test plan的树形结构中元件的父子关系来确定的,其原则如下:

1) sampler不与其他元件相互作用,因此不存在作用域问题

2) Logic Controller只对其子节点中的sampler和Logic Controller作用

3) 除sampler和Logic Controller外的其他元件,如果是某个sampler的子节点,则该元件仅对其父节点作用

4) 除sampler和Logic Controller外的其他元件,如果其父节点不是sampler,则其作用域是该元件父节点下的其他所有后带节点(包括子节点,子节点的子节点等)

2、元件的执行顺序

在同一作用域范围内,test plan中的元件按照以下顺序执行:

1) Config Elements

2) Pre-porcessors

3) Timer

4) Sampler

5) Post-porcessors(除非Sampler得到的返回结果为空)

6) Assirtions(除非Sampler得到的返回结果为空)

7) Listener(除非Sampler得到的返回结果为空)

备注:执行顺序依次为:配置元件(CSV Data Set Config)-前置处理器-定时器-取样器-后置处理器-断言-监听器

关于执行顺序,有两点需要注意:

*  前置处理器、后置处理器和断言等元件公能对 取样器作用,因此,如果在它们的作用域内没有任何取样器,则不会被执行。

*  如果在同一作用域范围内有多个同一类型的元件,则这些元件按照它们在测试计划中的上下顺序一次执行。

原文地址:https://www.cnblogs.com/hupilan521/p/9117138.html

时间: 2024-11-09 01:52:28

jmeter元件的作用域和顺序的相关文章

Jmeter -- 元件的作用域与执行顺序

一.作用域:在JMeter中,元件的作用域是靠测试计划的的树型结构中元件的父子关系来确定的,作用域的原则是:1. 取样器(sampler)元件不和其它元件相互作用,因此不存在作用域的问题.2. 逻辑控制器(Logic Controller)元件只对其子节点中的取样器 和 逻辑控制器作用.3. 除取样器和逻辑控制器元件外,其他6类元件,如果是某个sampler的子节点,则该元件会对其父子节点起作用.4. 除取样器和逻辑控制器元件外,其他6类元件,如果其父节点不是sampler ,则其作用域是该元件

jmeter元件的作用域与执行顺序

Jmeter测试步骤如下:1.测试计划2.线程组3.http请求4.监听器5.运行脚本6.查看报告 怎么看元件的作用域:从各个元件的层次结构判断没给元件的作用域

JMeter元件的作用域和执行顺序

元件的作用域 配置元件:会影响其作用范围内的所有元件,作用范围是最大的,只要创建就对所有元件起作用. 前置处理器:在其作用范围内的每一个Sample元件之前执行: 定时器:对其作用范围内的每一个Sampler有效: 后置处理器:在其作用范围内的每一个Sampler元件之后执行,相当于LR中的end: 断言:对其作用范围内的每一个sampler元件执行后的结果执行校验: 监听器:手机其作用范围内的每一个sampler元件的信息并呈现: sampler元件不和其他元件相互作用,因此不存在作用域问题.

JMeter元件运行顺序

执行脚本案例:如图 通过多次运行测试,案例中JMeter元件之间的执行顺序(优先级)如下: 1)执行配置元件“HTTP Cookie”管理器: 2)执行前置处理器“用户参数”: 3)执行定时器元件“固定定时器”: 4)执行每个取样器,如http:127.0.0.1/XXX: 5)执行后置处理器“正则表达式提取器”: 6)执行断言元件“响应断言”: 7)执行监听器元件“断言结果”: 8)执行监听器元件“聚合报告”. 值得注意的是:上面的执行脚本案例中,添加固定定时器(设置为3000ms)的位置,会

zhuan:JMeter基础之--元件的作用域与执行顺序

前面有介绍过jmeter的元件类别,对于新手来说,jmeter的元件是还是不少的,如果我们按照每一个元件的每一个参数的含义去学习,无疑会降低学习性能测试的热情,就算我们熟悉了所有元件以及元件上的参数了,我们也不知道如何将其组合成我们想要描述的性能测试.另一方面,我们点击每个节点上的元件都会出现类似或相同的菜单,他们的层级关系是什么样的.究竟这个元件放在哪个层级的哪个位置才达到我们意愿. 如何更快速的入门jmeter,个人建议通过录制脚本的方式,快速的了解一个性能测试应该包括的元件以及它们的层级关

JMeter专题系列(三)元件的作用域与执行顺序

1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements .timers .post-processors.assertions.listeners.)需要与取样器(sampler)等元件交互. 配置元件(config elements ) 元件会影响其作用范围内的所有元件. 前置处理程序(Per-processors) 元件在其作

JMeter学习(三)元件的作用域与执行顺序

1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements .timers .post-processors.assertions.listeners.)需要与取样器(sampler)等元件交互. 配置元件(config elements ) 元件会影响其作用范围内的所有元件. 前置处理程序(Per-processors) 元件在其作

Jmeter基础(三)元件的作用域与执行顺序

1.元件的作用域 之前介绍了8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements .timers .post-processors.assertions.listeners.)需要与取样器(sampler)等元件交互. 配置元件(config elements ) 元件会影响其作用范围内的所有元件. 前置处理程序(Per-processors) 元件在其作用范围内

JMeter学习(一)---元件的作用域与执行顺序

1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(config elements .timers .post-processors.assertions.listeners.)需要与取样器(sampler)等元件交互. 配置元件(config elements ) 元件会影响其作用范围内的所有元件. 前置处理程序(Per-processors) 元件在其作