本文主要介绍jmeter使用过程中最常用的一些组件及其作用。性能测试时线程组中可以添加如下的组件,如图所示:

test plan:测试计划,是其它组件的容器

thread:线程组,用来设置多少线程,怎么运行这些线程

config element:配置信息

listener:监听,查看执行的结果、统计、发出的请求

timer:等待时间,集合点、按照请求流量加压

pre processor:前置处理器,在发出正式请求前做好准备工作

post processor:请求之后需要做的事情,提取各种响应内容

assertion:各种断言,和post processor部分相似,提取出指定的内容后作为断言内容。

test fregment:测试片段,用于其他的控制器使用

Non-test element:非测试相关的元件,比如HTTP Mirror Server(请求什么返回什么,调试方便),HTTP(S) Test Script Recorder(脚本录制)等等

接下来我们一一介绍。

Sampler:取样器
用于向服务器发起请求,里面最常用的就是HTTP Request,还有可能用到Debug Sampler、TCP Sampler等。每种不同类型的sampler可以根据设置的参数向服务器发出不同类型的请求

Controller:控制器
逻辑判断,比如if,while,Loop等等,设置请求以什么规则发送

Pre Processor:预处理

发出请求前要做哪些准备工作,类似于Unittest中的setUp,一般用的比较少。

Post Processor:请求之后的处理

这个用到的场景比较多,常用的就是正则,可以在请求之后,通过正则表达式将某些数据存在变量中,可以断言或者做数据关联

Assertions:断言

用于检查测试中得到的相应数据等是否符合预期。断言一般用来设置检查点,保证性能测试过程中的数据交互是否和预期一致。

Timer:定时器

两个作用:一个是sleep的时间,就是死等;一个就是控制请求发送的速度,比如5分钟发200次。

Test Fragment:片段

一个可以被其它控制器引用的片段,类似于一个函数,可以在其它地方使用

Config Element:配置元件
用于提供对静态数据配置的支持。CSV date set config将本地数据文件形成数据池(date pool),而http request sampler和TCP request sampler等类型的配置元件则可以修改sampler的默认数据。(例如,http cookie manager 可以用于对http request sampler 的cookie进行管理,在使用代理录制脚本时介绍过。)

Listener:监听器

它是用来对测试结果数据进行处理和可视化展示的一系列元件。图形结果、察看结果树、聚合报告。都是我们经常用到的元件。

Non-test element:非测试相关的一些组件

组件执行的优先级:

配置元件-前置处理器-定时器-取样器-后置处理器-断言-监听器

设置线程组的执行顺序

如果一个test Plan中有多个Thread Group的话,这线程组默认是并发执行的,如果想要按添加的顺序执行的话,需要按下图所示勾选如下配置:

原文出处:https://blog.csdn.net/kongsuhongbaby/article/details/94830194

jmeter常用组件简介的更多相关文章

  1. Jmeter Web 性能测试入门 (三):Jmeter 常用组件说明

    线程组:用来设置并发的数量和模式.是用来模拟用户并发的组件.JMeter 的每个任务都是用线程来处理的. 线程数:要并发的请求数量. Ramp-Up Period: 在多次时间内把这些并发的请求发送完 ...

  2. jmeter 常用组件详解

    1.测试计划(test plan) 描述一个性能测试,包含本次测试所有相关功能 2.threads(users)线程 Setup thread group: 一种特殊类型的线程,可用于执行预测试操作. ...

  3. jmeter常用组件

    测试计划(Test Plan) 是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器. 线程组(Thread Group) 代表一定数量的并发用户,它可以用来模拟并发用户发送请 ...

  4. spring cloud要点简介及常用组件

    spring cloud基于spring boot spring cloud是通过包装其他技术框架实现的,例如OSS组件,实现了一套通过基于注解.java配置和基于模板开发的微服务框架. spring ...

  5. Jmeter Beanshell 编程简介

    简介 Jmeter除了提供丰富的组件以外,还提供脚本支持,可通过编写脚本来丰富Jmeter,实现普通组件无法完成的功能.Beanshell是一种轻量级的Java脚本语言,完全符合Java规范,并且内置 ...

  6. 依赖注入及AOP简述(十)——Web开发中常用Scope简介 .

    1.2.    Web开发中常用Scope简介 这里主要介绍基于Servlet的Web开发中常用的Scope. l        第一个比较常用的就是Application级Scope,通常我们会将一 ...

  7. EasyUI常用组件(基础)

    ---------------------------------------------------------------------------------------------------- ...

  8. JMeter主要组件介绍

    JMeter主要组件介绍   转自https://www.cnblogs.com/linbo3168/p/6023962.html 作者:linbo.yang 1.测试计划(Test Plan)是使用 ...

  9. immutable.js 在React、Redux中的实践以及常用API简介

    immutable.js 在React.Redux中的实践以及常用API简介 学习下 这个immutable Data 是什么鬼,有什么优点,好处等等 mark :  https://yq.aliyu ...

随机推荐

  1. auto_ptr与shared_ptr

    注: 从c++11开始, auto_ptr已经被标记为弃用, 常见的替代品为shared_ptr shared_ptr的不同之处在于引用计数, 在复制(或赋值)时不会像auto_ptr那样直接转移所有 ...

  2. C# DataSet转JSON

    经常会遇到系统数据交互采用JSON数据格式进行交互的,避免不必要的重复工作,记录下自己的处理方式. 获取数据集之后,通过函数对数据集信息进行整理通过.Net Framework3.5提出的JavaSc ...

  3. [BZOJ2588]Count on a tree(LCA+主席树)

    题面 给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权.其中lastans是上一个询问的答案,初始为0,即第一个询问 ...

  4. uve (mui/light7)写APP的使用心得(大坑);

    话说mui这个框架的UI确实挺好看的(个人觉得)所以项目使用了他,结果里面的坑太TM多,不得不说MUI做东西太不用心了,社区不活跃,提问都没人管!; mui第一个坑: 日期选择器默认值无效:使用代码跟 ...

  5. Python 内置函数raw_input()和input()用法和区别

    我们知道python接受输入的raw_input()和input() ,在python3 输入raw_input() 去掉乐,只要用input() 输入,input 可以接收一个Python表达式作为 ...

  6. 使用OFBIZ的理由和不使用OFBIZ的理由

    1 使用OFBIZ的理由 1.1 什么是OFBIZ OFBIZ是由Sourceforge维护的一个最著名的开源项目之一,提供创建基于最新J2EE/XML规范和技术标准,构建大型企业级.跨平台.跨数据库 ...

  7. spring,get请求中带date日期格式参数,后台无法转换的问题

    今天遇到个很奇怪的问题.前端 的查询条件中带有日期范围日期的格式 是 yyyy-MM-dd HH:mm 结果后台报错 org.springframework.validation.BindExcept ...

  8. 解决 myEclipse与tomcat 不同步的问题

    在我们使用eclipse做web调试的过程中,一般只需要在eclipse修改程序,然后在浏览器刷新就能发现文件更改,今天突然发现保存后不能更改了.1.检查tomcat中的文件发现文件没有更新.2.检查 ...

  9. Maven中添加Jetty服务器配置

    <project> <!--其它配置--> <build> <plugins> <plugin> <groupId>org.mo ...

  10. python面向对象的三大特征--封装

    #coding:utf-8 __author__="tang" #第一个层面的封装:类就是麻袋,本身就是一种封装 #第二个层面的封装:类中定义私有的,只在类的内部使用,外部无法访问 ...