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}

设置用户变量

查看结果

相关推荐
古人诚不我欺6 小时前
jmeter常用配置元件介绍总结之分布式压测
分布式·jmeter
綦枫Maple12 小时前
Jmeter基础篇(22)服务器性能监测工具Nmon的使用
运维·服务器·jmeter·性能监控·nmon
古人诚不我欺13 小时前
jmeter常用配置元件介绍总结之线程组
java·开发语言·jmeter
惜.己13 小时前
Jmeter中的监听器(一)
测试工具·jmeter·1024程序员节
我非夏日1 天前
JMeter进阶篇
jmeter
惜.己1 天前
Jmeter中的配置原件(三)
功能测试·测试工具·jmeter·1024程序员节
綦枫Maple1 天前
Jmeter基础篇(23)TPS和QPS的异同
数据库·jmeter·oracle
惜.己1 天前
Jmeter中的配置原件(二)
测试工具·jmeter·1024程序员节
我非夏日1 天前
JMeter项目实战
jmeter
川石课堂软件测试1 天前
性能测试|JMeter接口与性能测试项目
javascript·数据库·python·jmeter·单元测试