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}

设置用户变量

查看结果

相关推荐
半个俗人2 天前
05postman关联-常用的数据提取方式
测试工具·jmeter·postman·js
爆更小哇6 天前
jmeter插件下载+创建梯度线程组+命令生成性能测试报告
测试工具·jmeter·自动化
抓到小松鼠7 天前
jmeter-事务控制器
jmeter
张永清-老清7 天前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(三)Bean Shell的基础语法之运算符和控制流语句
学习·jmeter·性能优化·性能测试·jmeter性能测试·beanshell·每周读书与学习
张永清8 天前
每周读书与学习->Jmeter中如何使用Bean Shell脚本(三)Bean Shell的基础语法之运算符和控制流语句
jmeter·性能测试·性能调优·jmeter性能测试·性能分析·性能监控·性能诊断·每周读书与学习·bean shell
半个俗人8 天前
13.jmeter性能测试高并发及高频率弱压力及持续高并发
jmeter
程序员杰哥9 天前
Jmeter正则表达式提取器和JSON提取器基础用法
自动化测试·软件测试·测试工具·jmeter·正则表达式·json·测试用例
半个俗人9 天前
12.jmeter跨越线程组传值-全局变量
jmeter