Jmeter入门

Jmeter简单介绍:

轻量型软件工具,自己本身具有创建线程、模拟用户数、发送请求、设置断言、查看结果等功能。

Jmeter各元件介绍:

Jmeter常用工具分类
测试计划
一个项目只有一个测试计划,在jmeter中,各元件是树形排列,而测试计划是树的根结点,所以只有一个。类似于项目工程里面的project。

线程组
jmeter要模拟大量用户负载的情况,这个就是通过线程组来完成的。
线程组分成setup、teardown和线程组,类似于程序的startup、test、teardown函数,分别是线程初始化处理,跑case,结束后的收尾工作。具体设置页面如下:
在这里插入图片描述
线程数:模拟的虚拟用户数;
ramp_up时间:各个线程执行的间隔时间,如图,就是20个线程,各线程之间的执行间隔为1second

取样器
线程组的灵魂,模拟用户的操作,向服务器发送请求(http、ftp、https等)。
取样器元件有多个,基本涵盖来各种协议,比如http、ftp、java、ldap、mail、smtp、soap、tcp、junit等。
在这里插入图片描述
前置处理器
在取样器之前,做好准备工作,与Java的init()等同作用,在脚本的开发过程中,做好环境和参数的准备工作。比如,要对数据库操作,就先在前置处理器中,建立数据库的连接。常用的还有设置用户参数,设置取样器超时(这个是防止并发数过多,有时出现超时卡死的情况)
在这里插入图片描述
配置元件
在这里插入图片描述
如上图,主要是对取样器进行一些配置,常用的有:
csv数据设置:将请求参数化,而参数的取值不是上面的用户参数里面设置,而是从csv文件中读取。
在这里插入图片描述
其他的都很简单,只说一个,变量名称,jmeter读取数据是一列一列读取,首先要取保数据文件的格式是一列一列存放的,其次,这里设置的变量名称是在jmeter中后续可以调用的变量名,比如这里写的是 “a,b”,则数据文件中第一列的数据,依次赋值到变量a中,后面请求中参数用 ${a}就可以了。
其他常用的还有http信息头管理器,http cookie管理器,http缓存管理器等。

后置处理器
一般放在取样器之后,处理服务器的返回结果。主要处理取样器中的关联需求。
比如说,常见的是我们测试的接口需要sessionid,找到返回sessionID的接口,在这个取样器下添加正则表达式提取器,获取session。

断言
断言,就是校验结果是否正确,类似与检查点。

监听器
测试结果需要添加监听器来收集,jmeter的结果收集程序的设计模式就是监听器模式。
监听器,可以放在线程组之外,也可以放在线程组内。
监听器的作用有两个
(1)添加结果监听,保存测试结果到文件,这样结果数据可以再次分析;
(2)展示结果,以图表形式展示,更直观。

取样器、断言、监听器组合在一起,就完成了发送请求、验证结果、结果分析的三项工作。

定时器
压测的重要存在,为了能真实模拟用户的负载,我们可以通过它来模拟请求在同一时刻发送。比如添加定时器(Synchronizing Timer)

定时器,一定要放在要执行的取样器的前面!!!

在这里插入图片描述
number:同一时刻发送的虚拟用户数;
timeout:
有几点需要考虑:
如果“要分组的同时用户数”设置为零,则将使用当前线程组“线程数”。
如果“分组依据”数小于“线程数”,即在线程组中定义了50个线程,并且“分组依据”值为25,则将发生两个具有25个线程的批量发布。
避免设置大于“线程数”的“分组依据”值,因为定时器永远不会触发,并且您的测试将永远挂起。

此处附上常用的实现和定义负载场景的做法:
1:在线程组中设置“Ramp-up period“模拟增加的负载;
2:添加“Constant Throughput Timer“,指定吞吐量。

至于jmeter里面的工作台,以及test fragment,涉及的不多,只知道一般不会直接参与运行,以后用到了再补充。

⚠️另外值得要注意的:Jmeter里面是没有地方可以编写Java脚本的,可以的做法是打开编码工具(Eclipse\idea),倒入Jmeter的包,然后在里面编写脚本,之后Jmeter中,添加Java请求,选择对应的类(这个脚本要放在Jmeter安装路径的bin目录下)

Tips:点击选项-》函数对话框,能调用内置函数,点击生成,就拷贝了调用方法,可以把这个写法直接写在参数里同请求一起发送。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值