jmeter组件讲解

jmeter的好处

开元,免费,基于java编写,可集成到其他系统可拓展各个功能插件,支持接口测试,压力测试,负载测试等多种功能,支持录制回放,入门简单相较于自己编写框架和其他开源工具,有较为完善的UI界面,便于接口调试,多平台支持,可在Linux,Windows,Mac上运行,支持多协议

jmeter的作用

1.接口测试    postman/jmeter

2.性能测试    jmeter

3.数据库测试

jmeter怎么用

Windows Jmeter 下载安装,登录 http://jmeter.apache.org/download_jmeter.cgi ,根据自己平台,下载对应文件

安装jdk,配置环境变量,将下载的jmeter文件解压,双击/bin/jmeter.bat运行(jmeter.sh在linux上运行)

jmeter的目录结构

/bin   目录(常用文件介绍)

examples:目录下包含jmeter使用实例

ApacheJMeter.jar: jmeter源码包

jmeter,sh:linux下启动文件

jmeter.log: jmeter运行日志文件

jmeter.properties:jmeter配置文件

jmeter-server.bat:Windows下启动负载生成器服务文件

jmeter-server:linux下启动负载生成器文件

/docs目录:提供了对Ant的支持文件,也可用于持续集成

/lib目录:存放jmeter依赖的jar包,同时安装插件也存放在此目录

/licenses目录:软件许可证

/printable_docs目录:jmeter用户手册

使用jmeter测试快速入门

线程组是什么

进程:一个正在执行的程序对应一个进程

线程:一个进程有多个执行线程

线程组:按照线程性质对线程分组

三者关系:一个进程有多个线程组,一个线程组有多个线程

 

测试计划 线程组 线程组属性中的线程数
 
并发执行:多个线程同时执行,特点:执行结束的顺序与开始的顺序不一致
 
顺序执行:按照线程的启动顺序挨个执行
 
默认情况下,线程组中的线程是并发执行
 
每一个线程都要执行组内的 http 请求
 
设置线程组顺序执行:勾选测试计划中的(独立运行每个线程组)
 
线程组用来模拟用户的并发访问

 

线程组主要包含三个参数:线程数,准备时长,循环次数

线程数:虚拟用户数。一个虚拟用户占用一个线程。设置多少虚拟用户数在这里也就是设置多少个线程数

准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为20,准备时长为10,那么需要10秒启动20个线程。也就是每秒钟启动2个线程。

循环次数:每个线程发送请求的次数。如果线程数为20,循环次数为100,那么每个线程发送100次请求。总请求书为20*10=2000.如果勾选了“永远”,那么所有线程会一直发送请求,一直到选择停止脚本。

创建http请求,指定请求域名,请求路径

1.右键测试计划---添加---Threads---线程组

2.右键线程组---添加---sampler---http请求

设置对应的查看内容

察看结果树

 

通过察看结果树,我们可以看到每个请求的结果,其中红色的是出错的请求,绿色的为通过。
Thread Name :线程组名称
Sample Start: 启动开始时间
Load time :加载时长
Latency :等待时长
Size in bytes :发送的数据总大小
Headers size in bytes :发送数据的其余部分大小
Sample Count :发送统计
Error Count :交互错误统计
Response code :返回码
Response message :返回信息
Response headers :返回的头部信息

聚合报告参数说明

lable :对应每一个 http 请求,显示的是 http 请求的 Name ,如百度 http 请求 name baidu
#Samples:表示这一次的测试中一共发出了多少请求
Average:平均响应时间,指的是所有的请求的平均响应时间
Median :中位数,也就是 50% 用户的响应时间
90%Line 90% 用户的响应时间
Min :最小响应时间
Max :最大的响应时间
Error% :本次测试中出现错误的请求的数量 /请求的总数
Throughput:吞吐量,默认情况下表示每秒完成的请求数
Recived KB/Sec :每秒从服务器端接收到的数据量,以 kb 为计算的单位

 

图形结果

样本数目:总共发送到服务器的请求数。
最新样本:代表时间的数字,是服务器响应最后一个请求的时间。
吞吐量:服务器每分钟处理的请求数。
平均值:总运行时间除以发送到服务器的请求数。
中间值:有一半的服务器响应时间低于该值而另一半高于该值。
偏离:表示服务器响应时间变化、离散程度测量值的大小。
 

监听器

监听器 (Listener) 负责收集测试结果,同时也被告知了结果显示的方式。我们常用的包括:聚合报告、查看结果树、用表格查看结果,都支持将结果数据写入文件。其他的添加上去看看就行。聚合报告前面我们介绍过,后面是查看结果树和用表格查看结果的截图。
 

逻辑控制器

右键线程组---添加---逻辑控制器

循环控制器

代表循环两次,请求两次

事务控制器

作用: 事务控制器会生产一个额外的采样器,用来统计该控制器子结点的所有时间。在线程组下创建事务控制器
Generate parent sample ( 选中这个参数结果展示如下图红框,否则显示为下图蓝框 )
Include duration of timer and pre-post processors in generated sample :选中这一项会统计定时器(timer) 的时间,否则只统计采样器 (sample) 的时间

断言---检查点

断言 (Assertions) 可以用来判断请求响应的结果是否如用户所期望的。它可以用来隔离问题域,即在确保功能正确的前提下执行压力测试。这个限制对于有效的测试是非常有用的
 

前置处理器

前置处理器 (Pre Processors) 和后置处理器 (Post Processors) 负责在生成请求之前和之后完成工作。前置处理器常常用来修改请求的设置,后置处理器则常常用来处理响应的数据。我们主要在动态关联中用到后置处理器的正则表达式提取器

 

定时器

定时器 (Timer) 负责定义请求之间的延迟间隔
 

 

jmeter参数化实现之用户自定义变量

编辑名称和变量值

直接用${名称}可以直接使用变量值

效果展示

 

参数化实现之CSV Data Set Cibfig

通过这个组件可以动态获取并设置数据,实现批量添加操作

编辑文件,各项参数

填写各项:

Filename :所需数据文件的路径。如和脚本同一路径,可直接填写文件名
File encoding :编码和文件保持一致即可,默认为 ANSI 。如有中文,建议为 UTF-8
Variable Names :引用变量时的变量名,对应数据文件中的每一列,以逗号分隔。 Delimiter
.txt .dat 文件中,可以用逗号( , )或者 Tab 键( \t )来区分列与列
Allow quote data :选项选为 “true” 的时候对全角字符的处理出现乱码
Recycle on EOF :到数据文件结尾时是否循环读取。设置为 True 时,线程数过多,数据文件读取到最后
一行时,会再次从第一行开始读取。设置为 False ,到达文件结尾时如继续读取,则值会默认为,可通
过设置 jmeter 属性 csvdataset.eofstring 来改变该值。
Stop thread on EOF Recycle on EOF 设置为 False Stop thread on EOF 设置为 True ,则读取数据文
件最后一行后,停止测试,不管还有多少线程组未执行。
Sharing mode :共享模式。默认在所有线程组中使用,可选择每个线程组单独打开

 

查看结果数

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值