本文将对 JMeter 主要组件(主要涉及 Threads(Users)、Test Fragment、逻辑控制器、配置元件、定时器、前置处理器、Sampler、后置处理器、断言、监听器 十大组件)进行概要介绍,详细使用方法会在后续文章中陆续介绍,敬请惠顾参阅。组件如下所示:

零、测试计划

测试计划是测试的起点,同时也是其他所有组件的容器。

一、Threads(Users)-线程组

每个测试需求的必备组件,是用来模拟用户并发的组件。JMeter 的每个任务都是用线程来处理的。线程组界面如下所示:

线程数:请求并发的数量

Ramp-Up Period(in seconds):在多少秒内创建线程数中定义的所有线程。每秒并发数 = 线程数/RUP

循环次数:当前线程组中的测试脚本循环运行次数

PS:Threads(Users)下还有两个线程组:setUp Thread Group(线程组运行前执行,主要用于初始化操作,类似于JUnit/TestNG的setUp)、tearDown Thread Group(线程组运行后执行,主要用于数据清理,类似于JUnit/TestNG的tearDown),此两个线程组在后续实例中再详细介绍。

二、Test Fragment

界面如下所示。暂时没有用过(^_^),后续介绍。

三、逻辑控制器

逻辑控制器可以组织取样器,做出复杂的测试用的HTTP请求,以此满足测试需要。逻辑控制器如下所示:

四、配置元件

配置元件,同其名字一样,只是配置一些默认的属性和信息,供取样器获取所需要的各种配置信息,它不向服务器发送任何的请求。配置元件仅对其所在的测试树分支有效。例如,HTTP请求默认值设置了服务器的名称,那么它所在的测试分支内的HTTP请求的服务器名称都是这个服务器,HTTP请求仅设置路径就可以访问网页了。常用的配置如下图框中所示元件:

PS:在执行顺序方面有个例外,配置元件"用户定义的变量"无论它处于测试树的哪个位置,总是在测试的初始阶段执行。所以个人建议把它放在线程组的开始部分。

五、定时器

定时器设置请求间的时间间隔。定时器类型如下所示:

六、前置处理器

前置处理器一般用来在发出请求(Request)前进行特殊的处理。例如:HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。

七、Sampler

Sampler(取样器)主要的执行组件。每一个取样器都可以被监听器监听,并生成测试结果。采样器也就是发送一个具体的请求到指定服务器,等待服务器的请求。通常情况下,采样器会按照其在测试树中的顺序去执行,但是也会根据逻辑控制器来改变运行的次数和顺序。取样器列表如下所示:

八、后置处理器

后置处理器一般用来对采样器发出请求后得到的服务器响应(Response)进行处理,一般用来提取响应中的特定数据。例如,XPath  Extractor:可以提取响应数据中通过给定XPath 值获得的数据;正则表达式提取器:可以利用正则表达式方便的提取测试时所需的数据,用以参数传递和断言等。后置处理器列表如下:

九、断言

断言,判断取样器是否正常工作,判断请求响应是否正确,判断结果是否符合预期。

十、监听器

监听器主要用于收集整理测试结果,并将测试结果数据进行处理并展示出来,可以指定格式生成XML、CSV等形式的文件。查看结果树,用表格查看结果,图形结果...聚合报告等,都是我们经常会用到的元件。

组件执行顺序(此顺序参考网上的资料,若有错误之处,敬请大神指正,非常感谢):

在同一作用域名范围内(不考虑逻辑控制器),测试计划中的元件按照如下顺序执行。
(1)配置元件(config elements )
(2)前置处理程序(Per-processors)
(3)定时器(timers )
(4)取样器(Sampler)
(5)后置处理程序(Post-processors) (除非Sampler 得到的返回结果为空)
(6)断言(Assertions)(除非Sampler 得到的返回结果为空)
(7)监听器(Listeners)(除非Sampler 得到的返回结果为空)

JMeter学习-005-JMeter 主要组件概要介绍及执行顺序的更多相关文章

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

    1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效,而其它元件(conf ...

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

    转载自 http://www.cnblogs.com/yangxia-test 1.元件的作用域 JMeter中共有8类可被执行的元件(测试计划与线程组不属于元件),这些元件中,取样器是典型的不与其它 ...

  3. 【转载】JMeter学习(一)工具简单介绍

    JMeter学习(一)工具简单介绍 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静 ...

  4. JMeter学习(一)工具简单介绍

    一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件, ...

  5. JMeter学习(一)工具简单介绍(转载)

    转载自 http://www.cnblogs.com/yangxia-test 一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的 ...

  6. JMeter学习(二)工具简单介绍

    一.JMeter 介绍 Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序).它可以用来测试静态和动态资源的性能,例如:静态文件, ...

  7. JMeter学习笔记2-图形界面简单介绍

    废话少说直接干活的给: 一.打开和运行JMeter,出现UI界面.如图下所示: 工具栏:常见操作的图标集合,有New(新建), Template(模板) ,Save(保存),Start(开始) ,St ...

  8. JMeter学习笔记--JMeter常用测试元件

    JMeter测试计划有一个被称为“函数测试模式”的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如果你尝试一个较小的测 ...

  9. JMeter学习笔记--JMeter执行顺序规则

    JMeter执行顺序规则: 配置元件 前置处理器 定时器 采样器 后置处理器(除非服务器响应为空) 断言 监听器 只有当作用域内存在采样器时,定时器.断言.前置/后置处理器才会被执行,逻辑控制器和采样 ...

随机推荐

  1. Thrift入门及Java实例演示

    目录: 概述 下载配置 基本概念 数据类型 服务端编码基本步骤 客户端编码基本步骤 数据传输协议 实例演示(java) thrift生成代码 实现接口Iface TSimpleServer服务模型 T ...

  2. 如何在spring框架中解决多数据源的问题

    在我们的项目中遇到这样一个问题:我们的项目需要连接多个数据库,而且不同的客户在每次访问中根据需要会去访问不同的数据库.我们以往在spring和hibernate框架中总是配置一个数据源,因而sessi ...

  3. OpenCV show two cameras 同时显示两个摄像头

    用OpenCV同时显示两个摄像头的内容的代码如下: #include <iostream> #include <stdio.h> #include <tchar.h> ...

  4. 将MyApp.exe和Autorun.lnk添加到NK里,在project.bib文件内加入

    1. 将应用程序和应用程序快捷方式添加到映像里,再将快捷方式添加到StartUp目录下,这样当系统运行后应用程序就能自动运行:2. 直接替换Wince的SHELL,即修改注册表: [HKEY_LOCA ...

  5. 【液晶模块系列基础视频】5.2.X-GUI字体驱动2

    ============================= 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:ht ...

  6. 【iM_VGA模块】运行 ucgui 演示!

    挂在 iCore2 双核心板上的 VGA模块,跑 ucgui DEMO 演示.大家看看! ============================== 技术论坛:http://www.eeschool ...

  7. git统计报告

    2016年10月30日--2016年11月9日

  8. jQuery组件系列:封装标签页(Tabs)

    我自己封装的组件,你也行,静态链接地址 http://www.cnblogs.com/leee/p/5190489.html 声明.最好,先把代码拷过去运行一下,其实特别丑~再往下看 我没优化,因为我 ...

  9. maven相关概念

    1.maven仓库分为:本地仓库,远程仓库.远程仓库分为私服.中央仓储和其他公共库. 2.mvn clean install 部署到本地仓库 3.mvn clean deploy 部署到远程仓储 4. ...

  10. [IT新应用]如何部署CITRIX 虚拟桌面

    1.搭建AD,并部署dhcp. 2.安装ddc服务器,加入域.这台服务器就是用来发布后端服务器或者WIN7的PC给用户使用.相当于调度. 3.安装windows server或者win7,用于发布给用 ...