JMeter 性能测试
Posted CSR-kkk
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter 性能测试相关的知识,希望对你有一定的参考价值。
JMeter 简介
- 多线程框架 —— 支持多并发操作
- 用于对服务器模拟负载
- 支持web、数据库、FTP服务器系统的性能测试
- 开源、纯Java,可二次定制化开发
环境搭建
- 官网下载 jmeter 压缩包
- 解压到本地目录
- 配置环境变量:
- JMETER_HOME: 解压缩包路径,如 D:\\Tools\\apache-jmeter-5.2
- path中配置:%JMETER_HOME%\\bin
- 命令行中输入:jmeter
GUI界面设置
bin目录中配置:jmeter.properties(去注释,修改值)
- language:zh_CN
- jsyntaxtextarea.font.size:20,jsyntaxtextarea.font.family=Hack
- jmeter.toolbar.icons.size= 32x32,jmeter.tree.icons.size= 24x24
- jmeter.hidpi.mode=true,jmeter.hidpi.scale.factor=2.0
保存修改,在GUI界面中,选择选项栏的option(选项)选择外观,选择Metal,Yes
jmeter 脚本
用户操作被测软件系统某场景的请求
jmeter元件
- 配置元件
- 监听器元件
- 其它常用元件
配置元件
- HTTP请求默认值
- HTTP消息头管理器
- HTTP Cookies管理器
- HTTP Cache管理器
监听器元件
- 察看结果树
- 分析查看具体某个请求的详情
- 请求头、请求体
- 响应头、响应体
- 做性能场景时
- 分析错误请求的原因
- 分析查看具体某个请求的详情
- 聚合报告
- 汇总统计
- 请求数、响应时间(平均值、中位数、90% 、95%、99%、 min、 max)单位:ms
- 错误率(越低越好)
- 吞吐量(越高越好)
- 发送/接受 – 带宽
- 汇总统计
- 表格察看结果
- 图形结果
其它常用元件
- 前置处理器
- 请求发出前执行的控制器(元件)
- 如:加密
- 后置处理器
- 请求发出之后执行的控制器(元件)
- 如:提取数据
- 定时器
- 思考时间 —— 固定定时器
- 同步定时器 —— 集合点
- 随机定时器
- 吞吐量定时器
JMeter 参数化
参数化流程
- 找出需要做参数化的数据
- 准备提供给参数化需要的数据源
- 把脚本里的常量 转为变量,使用数据源数据
参数化方式
-
CSV :需要配置的元件
- 使用场景:账号密码
-
函数式:
- 随机数
- time
- counter计数器
-
变量
-
编程式
- 问题解决:
- 1、“msg”:“TOKEN值为空”
- 在获取token接口添加后置处理器 – json提取器 --变量名(getToken)、$.token、0
- 请求接口添加 HTTP消息头管理器,添加消息头,例:X-AUTH-TOKEN:$getToken
- 2、“message”:"…必须为中文"
- 请求编码设置为 utf-8
- 3、“message”:“该号码已存在”
- 做参数化
以上是关于JMeter 性能测试的主要内容,如果未能解决你的问题,请参考以下文章