本文将对 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. 【BZOJ】2648: SJY摆棋子 & 2716: [Violet 3]天使玩偶(kdtree)

    http://www.lydsy.com/JudgeOnline/problem.php?id=2716 http://www.lydsy.com/JudgeOnline/problem.php?id ...

  2. dtd语法之定义属性

    1.语法: <!ATTLIST 元素名称 属性名称 属性类型 默认值>  属性类型: l CDATA :文本数据 l (en1|en2|……) :属性值任选其一 l ID :属性值必须是唯 ...

  3. android之Chronometer

    首先定义activity_main.xml文件 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/re ...

  4. OpenCV学习笔记——图像的腐蚀与膨胀

    顺便又复习了一下cvcopy如何进行图像拼接(最近觉得打开多幅图像分别看不如缩小掉放拼接到一幅图像上对比来的好) 首先把拼接的目标图像设置兴趣区域ROI,比如我有一个total,要把a.b.c分别从左 ...

  5. nmap 高级扫描用法

    nmap提供了四项基本功能(主机发现.端口扫描.服务与版本侦测.OS侦测)及丰富的脚本库.Nmap既能应用于简单的网络信息扫描,也能用在高级.复杂.特定的环境中:例如扫描互联网上大量的主机:绕开防火墙 ...

  6. PHP不能创建csv中文名文件

    使用iconv 将utf-8转换成gb2312即可$name = iconv("utf-8","gb2312",'分销商下载课件记录');

  7. JiaThis WordPress分享插件安装全攻略

    WordPress 是一个功能非常强大的博客系统,插件众多,易于扩充功能.安装和使用都非常方便.目前 WordPress 已经成为主流的 Blog 搭建平台.按照下面的方法,只需简单几步,就可轻松地将 ...

  8. 网站压力测试工具webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...

  9. the basic index concept

    Computer Science An Overview _J. Glenn Brookshear _11th Edition Over the years numerous variations o ...

  10. data-"mit.edu-Thinking In C++"

    Volume 2 ctrl+s http://web.mit.edu/merolish/ticpp/TicV2.html http://web.mit.edu/merolish/ticpp/TicV2 ...