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}

设置用户变量

查看结果

相关推荐
狼爷16 小时前
JMeter 全指南:从性能测试入门到架构级实战
jmeter·测试
雪碧聊技术3 天前
什么是压力测试?压力测试的工具有哪些?一文详解
jmeter·压力测试·wrk
弹简特4 天前
【精通JMeter接口测试-完结】05-JMeter通关收官!BeanShell和接口签名
jmeter·beanshell·接口签名
某人辛木5 天前
JMeter下载安装配置
jmeter
查拉图斯特拉面条6 天前
JMeter脚本中断排查:CSV配置导致线程提前终止
jmeter
lifewange9 天前
JMeter InfluxDB 后端监听器 全参数详解
jmeter
川石课堂软件测试10 天前
技术分享|JMeter接口与性能测试实战
数据库·功能测试·测试工具·jmeter·单元测试·postman·prometheus
弹简特10 天前
【精通JMeter接口测试】03-JMeter 接口测试持续集成踩坑记:jtl 转 Allure 报告、Jenkins 定时执行、CSP 样式劫持全解决
jmeter·自动化·jenkins
晨+燕10 天前
JMeter中如何定位到某个具体的类来自于哪个jar包
python·jmeter·jar