JMeter 简单使用

JMeter 简介

Apache JMeter 是一款流行的性能测试工具,可以用来模拟用户行为并对系统进行压力测试。

安装

官方网站:http://jmeter.apache.org/

在window下解压后, 运行 "bin/jmeter.bat"

Jmeter 支持中文, 启动 Jmeter 后, 点击 Options -> Choose Language 来选择语言。

使用 JMeter 进行 Http 测试

打开 JMeter 并创建一个新的测试计划。

添加一个线程组(Thread Group)到测试计划中,设置线程数和循环次数。

在线程组下添加一个 HTTP 请求(HTTP Request)。

参数类型如果是 JSON/XML 则使用 Body Data;如果是 FormData 则需要勾选 "Use multipart/form-data",并在 Parameters 这一栏下面填写参数。如果是 json 需要填添加头信息:Content-Type:application/json。

JMeter 设置请求头信息

POST 传过去的 Body 数据是 json 格式的。需要填添加头信息:Content-Type:application/json

查看结果树



json提取器

当我们要把请求得数据作为下面接口的参数,接口返回的数据是json格式,在要提取返回数据的接口

JSON Path expressions匹配规则:

json串 []表示对象组成的数组,{}表示对象。

对象里包含多个 "属性":属性值。属性值可以是值,或数组或对象。

JSON Extractor使用json path表达式匹配,可以一次取多个变量值。

美元符号"$"表示响应的根对象;

英文句号"."表示取子对象或对象的属性;(或者:表示取字典里key的value)

英文中括号"[]"表示取数组里的对象用,数组索引从0开始。

如上截图,我要把接口返回的Authorization作为凭证保存到头部,

$.data.Authorization

json提取器填写介绍:

Names of created variables:变量名,如填 name ,那用时为 ${name}

JSON Path expressions:提取变量的路径

Match No. (0 for Random):如果返回结果中提取了多个参数,取哪个可用到。0代表随机,-1代表全部,整正数表示序号

Default Values:默认值

注意:如果同时提取多个:则Match No. (0 for Random)和Default Values一定要填;如果匹配的结果只有一个,则Match No.填"1";另外Default Values可随便填"0",不填的话会报错,匹配不到数据;


提取多个参数是,用英文;隔开

使用变量

提取出来的Names of created variables字段就是变量名,使用时:${xxx}

JMeter 测试websocket接口

Jmeter 不自带 WebSocket 功能,需要先安装 WebSocket 的插件,Options -> plugins Manager;

如果没有这个菜单,安装方法如下:

https://jmeter-plugins.org/install/Install/

在 available plugins 搜索 WebSocket 进行插件下载即可,将搜索到的2个插件都安装,待 Jmeter 重启后插件就是安装成功。

JMeter 模拟多用户并发

场景:100个用户同时登录

设置线程组

线程总共启动时间为0表示并发

导入用户数据(CSV)

将存储用户账号、密码的文件引入,并命名变量名称,在登录时调用

调用,传参: ${account}

设置用户变量

查看结果

相关推荐
大霞上仙4 小时前
jmeter学习(7)beanshell
学习·jmeter
大霞上仙4 小时前
jmeter学习(1)线程组与发送请求
java·学习·jmeter
路上^_^6 小时前
Jmeter入门
jmeter
害羞的白菜7 小时前
Nginx基础详解5(nginx集群、四七层的负载均衡、Jmeter工具的使用、实验验证集群的性能与单节点的性能)
linux·运维·笔记·jmeter·nginx·centos·负载均衡
攸攸太上1 天前
JMeter学习
java·后端·学习·jmeter·微服务
-$_$-3 天前
【黑马点评】2 商户查询缓存
java·jmeter·缓存·maven
Play_Sai3 天前
【接口测试】任务1:登录接口
软件测试·jmeter·接口测试·技能竞赛·楚怡杯·postaman
弥琉撒到我3 天前
微服务JMeter解析部署使用全流程
jmeter·spring cloud·微服务·架构
Betray3913 天前
Jmeter常用函数、逻辑控制器
jmeter
AgostoDu4 天前
jmeter操作数据库
数据库·jmeter