一、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

Jmeter组件执行顺序与作用域相关推荐

  1. JMETER 各组件执行顺序与作用域

    JMETER 各组件执行顺序与作用域 配置元件: 配置元件的作用主要为了初始化默认值和变量,以便后续采样器引用.相对于JAVA 语言中间定义一些常量和静态变量.配置元件作用域是最初始阶段处理,配置元件 ...

  2. jmeter接口顺序执行_【接口测试】JMeter中各组件执行顺序详解

    JMeter是我们测试人员使用越来越多的一种测试工具.本文就详细说明一下在JMeter的一个项目内,各个模块和组件的执行顺序是怎么样的. 执行顺序 JMeter常用的各个组件的执行顺序是:配置原件 前 ...

  3. jmeter 线程执行顺序_软件接口测试工具Jmeter使用方法详解(一)

    介绍完了接口测试是什么及其内在逻辑和Jmeter的安装,从这篇文章开始我们正式开始介绍Jmeter的使用方法.如果对接口测试逻辑流程和Jmeter安装有疑问的朋友,可以看这两篇文章: 星空下:软件接口 ...

  4. jmeter 线程执行顺序_性能测试之jmeter逻辑控制种类详解一

    逻辑控制器介绍 Jmeter逻辑控制可以对元件的执行逻辑进行控制,除Once only Controller仅一次控制器以外,其他控制器都可以可以嵌套其他种类的控制器,下面是jmeter5.3支持的控 ...

  5. 【Jmeter控制执行顺序 Critical Section Controller临界部分控制器】

    一个完整的业务包含多个接口请求,且有先后顺序.在做性能测试的时候,要求接口请求顺序永远按照自己定义好的请求顺序执行. 增加一个critical section controller(临界部分控制器), ...

  6. jmeter 线程执行顺序_面试官让我说出8种线程顺序执行的方法!我懵了

    https://www.cnblogs.com/wenjunwei/p/10573289.html 一.前言 本文使用了8种方法实现在多线程中让线程按顺序运行的方法,涉及到多线程中许多常用的方法,不止 ...

  7. jmeter 线程执行顺序_Jmeter-线程组执行顺序控制

    线程组按顺序来执行,大概思路, 1.需要控制线程组内的操作在满足某一条件才执行,那么就需要使用if或者while: 2.要使用if或者while都需要一个变量,而这个变量要在两个或多个线程组内使用,那 ...

  8. 实战 Vue 之生命周期钩子函数执行顺序

    实战 Vue 之生命周期钩子函数执行顺序 生命周期钩子函数 父组件与子组件执行顺序 生命周期钩子函数 beforeCreate:实例刚被创建出来,data 数据和 methods 方法还未被初始化,不 ...

  9. Vue生命周期执行顺序

    1.介绍 vue每个组件都是独立的,每个组件都有一个属于它的生命周期.从一个组件的创建.挂载.更新.销毁,这就是一个组件的生命周期. 2.生命周期图 本图来源于vue官网 vue生命周期图.png 3 ...

最新文章

  1. 【树莓派 Raspberry-Pi 】系统安装及一些必要的配置
  2. SQL中的关联更新和关联删除
  3. eclipse制作uml_Eclipse生成一个UML
  4. 解决IE6,IE7下子元素使用position:relative、父元素使用overflow:auto后,子元素不随着滚动条滚动的问题...
  5. url的特殊字符编码 encodeURI编码
  6. python 到 poc
  7. Linux特殊权限分析(第二版)
  8. 后台获取数据排序后在网页显示(Comparator)
  9. 线性回归(一元、多元)
  10. DateTime Calendar
  11. bootstrap22-内联的复选框和单选按钮的实例
  12. 常用软件的静默安装参数
  13. 【设计师配色宝典!教你从零开始学配色】转
  14. 深度学习在搜索业务中的探索与实践(美团)
  15. Centos7开机之后连不上网 ens33:<BROADCAST,ULTICAST>mtu 1588 qdisc noop state DOWl group default qlen 1888
  16. win10以太网下出现两个网络 网络2/网络3或者“未识别的网络” 如何删除多余的一个
  17. 3DS动物之森(animal acrossing)游戏记录
  18. TCP报文之-tcp dup ack 、tcp Out-of-Order
  19. 毕业设计分享----基于Java的个性化博客空间的设计与实现
  20. 2020大数据学习资料,全套源码无加密网盘下载

热门文章

  1. 【Android游戏开发之七】(游戏开发中需要的样式)再次剖析游戏开发中对SurfaceView中添加组件方案!...
  2. 数位DP 不断学习中。。。。
  3. ActiveMQ5.14.5配置参数详解
  4. 随机存取:fseek(),ftell()
  5. EXT.JS的PROXY放在哪里,STORE放在哪里,绝对是个技术活儿啊。
  6. 如何快速取消所有文件夹共享?进来瞧瞧
  7. MFC里ON_COMMAND_RANGE消息映射的ID问题
  8. Oracle HowTo:如何使用Oracle case函数
  9. 为你的水晶报表装载本地图片
  10. ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl