JMeter 简单使用

JMeter 简介

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

安装

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

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

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

JMeter 简单使用_第1张图片

使用 JMeter 进行 Http 测试

打开 JMeter 并创建一个新的测试计划。
添加一个线程组(Thread Group)到测试计划中,设置线程数和循环次数。
JMeter 简单使用_第2张图片

在线程组下添加一个 HTTP 请求(HTTP Request)。
JMeter 简单使用_第3张图片
JMeter 简单使用_第4张图片

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

JMeter 设置请求头信息

POST 传过去的 Body 数据是 json 格式的。需要填添加头信息:Content-Type:application/json
JMeter 简单使用_第5张图片
JMeter 简单使用_第6张图片

查看结果树

JMeter 简单使用_第7张图片
JMeter 简单使用_第8张图片
JMeter 简单使用_第9张图片

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”,不填的话会报错,匹配不到数据;

JMeter 简单使用_第10张图片
JMeter 简单使用_第11张图片
提取多个参数是,用英文;隔开
JMeter 简单使用_第12张图片

使用变量

提取出来的Names of created variables字段就是变量名,使用时:${xxx}
JMeter 简单使用_第13张图片

JMeter 测试websocket接口

Jmeter 不自带 WebSocket 功能,需要先安装 WebSocket 的插件,Options -> plugins Manager;
JMeter 简单使用_第14张图片
如果没有这个菜单,安装方法如下:
https://jmeter-plugins.org/install/Install/

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

JMeter 简单使用_第15张图片

JMeter 模拟多用户并发

场景:100个用户同时登录

设置线程组

线程总共启动时间为0表示并发
JMeter 简单使用_第16张图片

导入用户数据(CSV)

将存储用户账号、密码的文件引入,并命名变量名称,在登录时调用
JMeter 简单使用_第17张图片
JMeter 简单使用_第18张图片

调用,传参: ${account}

JMeter 简单使用_第19张图片

设置用户变量

JMeter 简单使用_第20张图片

查看结果

JMeter 简单使用_第21张图片

你可能感兴趣的:(jmeter)