jMeter之二

jMeter应用的最小子集有如下三个概念:

首先是线程组(Thread Group),线程组意味着定义一下多少个线程,多长时间建立起来(模拟增量按照一定频度上扬)以及循环多少次;

第二个是采样器(Sample),真正的想要进行测试的信息放在这里,所谓的采样器,就是会根据在线程组中配置的数据,计算采样次数(测试次数),反复的执行采样器中定义的测试内容;

最后是监听器(Listener),用于对于测试过程进行监听,以图表、表格形式进行展示,比如Graph Result就是通过曲线图展示性能情况,Aggregate Table则是通过表格形式将统计的参数实时计算结果展示出来;

其他高级属性:

配置元素(Config Element),这个属性也是放置在线程组之下如果你的测试Case有很多,而且很多配置又都是一样的,可以添加这个元素,将公用的配置放在这里,这样其他的Testcase可以共享此配置;

时间: 2024-12-17 20:55:10

jMeter之二的相关文章

jmeter(二)录制脚本

加班,等发版,继续整理之前的学习笔记...... 之前对jmeter有过简单的介绍,知道了它是一个开源的性能测试工具,但有时候某些业务场景稍微显得复杂点,这个时候我们就需要通过脚本来对它进行测试 对大多数刚开始接触性能测试的人来说,代码功力可能不是太好,我们可以通过工具,录制脚本来进行测试,以达到我们的目的 一般来讲,录制脚本有2中方法: 一.利用badboy进行脚本录制 1.下载安装 badboy官网地址:http://www.badboy.com.au 提示:官网下载时候会有用户邮件验证的,

Jmeter(二十一)Jmeter常见问题及场景应用

Jmeter作为工具来讲,已经是一个相对比较牛掰的工具,除了它能够支持那么多协议以及方法之外,更在与它的前置处理以及后置处理.同步监控的人性化.当然,所有的工具.框架都是作为业务的支撑,如果不能满足我们实际业务的工作,那么便没有那么大的'吸引力'.细数在实际工作中遇到的坑吧,都是使用Jmeter如何解决的. 一.乱码问题. 二.实际业务场景---仅需某一接口一次请求,其他接口循环请求(如登陆一次.提现N次). 三.当前接口需要上个接口的Response信息(正则.xpath.Beanshell.

jmeter(二十二):内存溢出原因及解决方法

jmeter是一个java开发的开源性能测试工具,在性能测试中可支持模拟并发压测,但有时候当模拟并发请求较大或者脚本运行时间较长时,压力机会出现卡顿甚至报异常----内存溢出,这里就介绍些如何解决内存溢出及相关的知识点... 首先来看看我们常说的内存泄漏.内存溢出是什么? 内存泄露是指你的应用使用资源之后没有及时释放,导致应用内存中持有了不需要的资源,这是一种状态描述: 内存溢出是指你应用的内存已经不能满足正常使用了,堆栈已经达到系统设置的最大值,进而导致崩溃,这事一种结果描述: 通常都是由于内

Jmeter(二十三)Jmeter-Question之“批量造数据”

日常工作中,无论是在做功能测试.接口测试还是性能测试,经常会有这么一个场景出现,"那个谁谁谁,帮我加几条订单","那个某某某,给购物车增添几个产品","在数据库加几百条数据"...等等,通常少数量,或者能够人为解决的就人工解决,那么如果是数量比较大,数万条数据,总不可能一条一条进行增添吧? So,在造数据这块通常能够想到的便是数据库通过"存储过程"来进行增添,或者外部程序or工具,Jmeter当然也支持的,做的小Demo: 原

Jmeter(二十四)Jmeter-Question之“加密请求参数”

日常接口测试碰到参数加密的情况不在少数,当然与之相对的也有解密.直接记录实例: 排除各家用的不一样的加密方式,用的最多的还是MD5加密(16,32).Jmeter3.2版本已经有解决方案 1.${__MD5(,)}函数(默认32位),当然也有其他类型的加密函数:base64 用法很简单,与一般函数使用一般无二. 粘贴一个实例: 加密之后的结果一致. 2.第一种方法只是Jmeter自带功能以满足需求,当然,也有满足不了的时候,因此第二种方法就显得相对灵活一些,还是MD5(32)加密. 解决思路:使

Jmeter (二十八)多线程组间变量共享

Jmeter 的线程组之间是相互独立的,各个线程组互不影响,所以线程组A中输出的参数,是无法直接在线程组B中被调用的. 但是有时为了方便管理,我们可能是把各个接口单独存放在不同的线程组中.拿Cookie来说,虽然每一个线程组中我们也可以放在一个登陆请求,然后输出一个Cookie供次线程组使用,但这样就比较繁琐且冗余.此时我们就可以使用跨线程组传递参数来解决这样的问题: 思路:将某一线程组内的变量通过"__setProperty"函数设置成jmeter全局变量,在另一个线程组中通过&qu

JMeter接口测试 (二) ~ 参数化

对应qq群号:616961231 上篇内容介绍了jmeter的基本使用, 略微提了如何做参数化,  本篇对参数化做进一步深入讲解, 参数化可以将一个变量使用不同数据, 比如有多个用户下单购买商品,调用下单接口是同一个,但用户的id不相同,测试接口使用不同用户可以更为真实模拟用户场景, 也可以用在多用户并发场景. 还是延续昨天的例子展开,右键线程组->添加->配置元件->csv Data Set Config ? 本机home目录创建文件id.csv文件, 将文件目录设置在csv中,见图

Jmeter (二十三)逻辑控制器 之 Runtime Controller

Runtime Controller:运行时间控制器,控制其下的Sampler运行时间. 该控制器较为简单,官方文档也没做太多说明,照着Blazemeter写个例子: 运行,查看结果. 可以看到运行了5秒. 转自:https://www.cnblogs.com/richered/p/8408820.html 原文地址:https://www.cnblogs.com/Lydia25/p/9983591.html

Jmeter (二十六)逻辑控制器 之 Module Controller and Include Controller

Module Controller ---模块控制器 测试计划设置"独立运行没每个线程组" 线程组2中使用Module Controller执行线程组1中的Sampler: 紧接着,将线程组1disable掉,执行: 结果树中是从线程组2开始执行,Module Controller依然可以控制到线程组1中的Dummy Sampler.    可以再增添个Test Fragment,试一试. This is Module Controller Include Controller: 旨在