Jmeter --- 组件执行顺序与作用域

一、Jmeter重要组件:

1)配置元件---Config Element:
  用于初始化默认值和变量,以便后续采样器使用。配置元件大其作用域的初始阶段处理,配置元件仅对其所在的测试树分支有效,如,在同一个作用域的任何采样器前。

2)前置处理器--- Pre Processors:
  前置处理器会在采样器发出请求之前做一些特殊操作。如果前置处理器附着在某个采样器之下,那么它只会在该采样器运行之前执行。前置处理器通常用于在采样器发出请求前修改采样器的某些设置,或者更新某些变量的值(这些变量不在服务器响应中获取值)。

3) 计时器---Timer:
  定时器会让作用域内的每一个采样器都在执行前等待一个固定时长,如果不设定这种延迟,JMeter可能会在短时间内产生大量访问请求,导致服务器被大量请求所淹没。如果为线程组添加了多个定时器,那么JMeter会将这些定时器的时长叠加起来,共同影响作用域范围内的采样器。定时器可以作为采样器或者逻辑控制器的子项,目的是只影响作用域内的采样器。

4) 采样器---sampler:
  采样器告诉JMeter发送一个请求到指定服务器,并等待服务器的请求。采样器会按照其在测试树中的顺序去执行,还可以用逻辑控制器来改变采样器运行的重复次数。

5)后置处理器---Post Processors:
  后置处理器会在采样器发出请求之后做一些特殊操作。如果后置处理器附着在某个采样器之下,那么它只会在该采样器运行之后执行。后置处理器通常被用来处理服务器的响应数据,特别是服务器响应中提取数据。

6)断言---Assertions:
  用户可以使用断言来检查从服务器获得的响应内容。通过断言可以测试服务器返回的响应与测试人员的期望是否相符

7)监听器---Listener:
  监听器提供了对JMeter在测试期间收集到的信息的访问方法。"图形结果"监听器会将系统响应时长绘制在一张图片之中。"查看结果树"监听器会展示采样器请求和响应的细节,还可以将测试数据导入到文件之中,以供后续分析。

8) 逻辑控制器---Controller:
  逻辑控制器可以帮助用户控制JMeter的测试逻辑,特别是何时发送请求。逻辑控制器可以改变其子测试元件的请求执行顺序。

二、组件执行顺序:

测试计划的元素执行是有序的,通过以下方式执行:
1–配置元件(Config Element)
2–前置处理器(Pre Processors)
3–定时器(Timer)
4–取样器(sampler)
5–后置处理器(Post Processors,只在有结果可用情况下执行)
6–断言(Assertions,只在有结果可用情况下执行)
7–监听器(Listener,只在有结果可用情况下执行)

三、组件作用域:

元件收集其作用范围的每一个sampler元件的信息并呈现,在jmeter中,元件的作用域是靠测试计划的的树型结构中元件的父子关系来确定的,作用域的原则是:

  • 采样器(sampler):元件不和其它元件相互作用,因此不存在作用域的问题。
  • 逻辑控制器(Logic Controller):元件只对其子节点中的取样器 和 逻辑控制器作用。
  • 除采样器 和 逻辑控制器 元件外,其他6类元件,如果是某个sampler的子节点,则该元件只对其父子节点起作用。
  • 除采样器和逻辑控制器元件外的其他6类元件,如果其父节点不是sampler ,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点等)。

四、特殊说明:

配置元件(Config Elemnet)-->用户自定义变量组件(User Defined Variables):这个组件不管放在哪个位置,它定义的变量都会被整个线程所共享。

例如:

下面这个例子,测试计划定义如下:

1、定义了三个sampler:one、Debug Sampler、two

2、在one下面定义了一个用户自定义变量:在这里添加了一个变量,名为hello,值为world

3、一个监听器:查看结果树

目的:测试在sampler one下定义的变量是否能被sampler two和debug sampler所引用

one:

User Defined Variables:

two:

运行结果:

由上可知:在one下面定义的用户变量,在debug sampler和two处都能正常使用。

参考:

http://www.cnblogs.com/fnng/archive/2012/12/27/2836506.html

时间: 2024-10-02 17:27:41

Jmeter --- 组件执行顺序与作用域的相关文章

jmeter(1) 组件执行顺序

组件执行顺序: 测试计划的元素执行是有序的,通过以下方式执行:1–配置元件(Config Element)元件会影响其作用范围内的所有元件.2–前置处理器(Pre Processors)元件在其作用范围内的每一个sampler元件之前执行.3–定时器(Timer)元件对其作用范围内的每一个sampler 有效4–取样器(sampler)5–后置处理器(Post Processors,只在有结果可用情况下执行)元件在其作用范围内的每一个sampler元件之后执行6–断言(Assertions,只在

Jmter组件执行顺序

1—配置节点 2—前置处理器 3—定时器 4—采样器 5—后置处理器(只在有结果可用时执行) 6—断言(只在有结果可用时执行) 7—监听器(只在有结果可用时执行) 脚本开发原则:简单.正确.高效 简单:去除无关的组建,尽量复用 正确:对脚本或业务正确性进行必要的判断,不能少也不能多 高效:部分组件仅在脚本开发模式使用,在真正生产环境下不使用,Lisener越少越好

Jmeter组件

1.测试计划(Test Plan).启动JMeter之后,就默认打开了一个测试计划,测试计划用来描述一个性能测试,包含于本次性能测试相关的所有执行步骤以及报表. 一个完整的测试计划包含:一个或多个线程组.逻辑控制.取样发生控制.监听器.定时器.断言和配置原件. 2.线程(Threads(Users)).相当于LoadRunner中的虚拟用户,每个JMeter测试计划的第一步就是添加线程组.在线程组里设置要模拟的并发用户量.并发时间或并发次数,线程的启动频率. JMeter的线程组分为以下3类:

JMeter学习-005-JMeter 主要组件概要介绍及执行顺序

本文将对 JMeter 主要组件(主要涉及 Threads(Users).Test Fragment.逻辑控制器.配置元件.定时器.前置处理器.Sampler.后置处理器.断言.监听器 十大组件)进行概要介绍,详细使用方法会在后续文章中陆续介绍,敬请惠顾参阅.组件如下所示: 零.测试计划 测试计划是测试的起点,同时也是其他所有组件的容器. 一.Threads(Users)-线程组 每个测试需求的必备组件,是用来模拟用户并发的组件.JMeter 的每个任务都是用线程来处理的.线程组界面如下所示:

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) 元件在其作