JMeter 简单使用

JMeter 简介

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

安装

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

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

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

cd8b516ccdda933bc5c897eafc89ffbc.png

使用 JMeter 进行 Http 测试

打开 JMeter 并创建一个新的测试计划。
添加一个线程组(Thread Group)到测试计划中,设置线程数和循环次数。
093321bb7a0215432399db3687e2ba49.png

在线程组下添加一个 HTTP 请求(HTTP Request)。
cd376bca9275817ec9f0865567cde792.png
7adde28e03b0710174c5e674de312cd1.png

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

JMeter 设置请求头信息

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

查看结果树

a11a0144e617c4dcc314d8d14393de60.png
3828da235f6f9472fc008ec4bccd717c.png
0d0485d48387b39ae191a84392a2bd07.png

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

14f0350325a0e9f5762f7458b0e04506.png
04b93172babb8c6de3e893767d202687.png
提取多个参数是,用英文;隔开
499c5bd97435e5db1ea50365971d6528.png

使用变量

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

JMeter 测试websocket接口

Jmeter 不自带 WebSocket 功能,需要先安装 WebSocket 的插件,Options -> plugins Manager;
6ad3ea25cf1134106b1eeb2d88e1be66.png
如果没有这个菜单,安装方法如下:
https://jmeter-plugins.org/install/Install/

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

e68fea9c08f66b79d85f11f4b8223b51.png

JMeter 模拟多用户并发

场景:100个用户同时登录

设置线程组

线程总共启动时间为0表示并发
183f8a9568fa69f2d4e06185ce3e3700.png

导入用户数据(CSV)

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

调用,传参: ${account}

79ada869a025943d86c7cc2c87b8d9cb.png

设置用户变量

29aad0fc39e48a00c3e5116620182f4f.png

查看结果

07b4e71b4a4dcd33b6756551c0adae7b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/285078.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【LMM 007】Video-LLaVA:通过投影前对齐以学习联合视觉表征的视频多模态大模型

论文标题:Video-LLaVA: Learning United Visual Representation by Alignment Before Projection 论文作者:Bin Lin, Yang Ye, Bin Zhu, Jiaxi Cui, Munan Ning, Peng Jin, Li Yuan 作者单位:Peking University, Peng Cheng Laboratory, Sun …

云计算复习提纲

第一章 大数据的概念:海量数据的规模巨大到无法通过目前主流的计算机系统在合理时间内获取、存储、管理、处理并提炼以帮助使用者决策 大数据的特点:①数据量大,存储的数据量巨大,PB级别是常态;②多样,数…

文章解读与仿真程序复现思路——中国电机工程学报EI\CSCD\北大核心《考虑用户禀赋效应和环保意识不确定性的微电网鲁棒优化调度方法》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主的专栏栏目《论文与完整程序》 这个标题涉及到微电网系统的优化调度方法,特别考虑了两个重要方面:用户禀赋效应和环保意识的不确定性。以下是对标题中关键术语的解…

系统学习Python——装饰器:函数装饰器-[对方法进行装饰:基础知识]

分类目录:《系统学习Python》总目录 我们在前面的文章中编写了第一个基于类的tracer函数装饰器的时候,我们简单地假设它也应该适用于任何方法一一一被装饰的方法应该同样地工作,并且自带的self实例参数应该直接包含在*args的前面。但这一假设…

PHP特性知识点扫盲 - 下篇

概述 在实际的生产环境中遇到了实际需要解决的问题,需要把服务部署的方式梳理出来,在同一个服务器中部署多个PHP环境,架构图如下: 架构方案 在工作实践中遇到的很多问题的普遍性都是相通的,公司运行的可新项目都是版…

详细讲解MybatisPlus中的BaseMapper类中的CRUD功能(全)

目录 前言1. 基本概念2. CRUD2.1 插入2.2 删除2.3 修改2.4 查询 前言 大部分CRUD都来源这个类,对此有意义剖析,方便之后的功能开发 1. 基本概念 MyBatis-Plus(简称MP)是基于 MyBatis 的增强工具,在 MyBatis 的基础上…

图像分割实战-系列教程8:unet医学细胞分割实战6(医学数据集、图像分割、语义分割、unet网络、代码逐行解读)

🍁🍁🍁图像分割实战-系列教程 总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 unet医学细胞分割实战1 unet医学细胞分割实战2 unet医学细胞分割实战3 unet医学细胞分割实战4 unet…

学习体系结构 - Arm 通用中断控制器 v3 和 v4

学习体系结构 - Arm 通用中断控制器 v3 和 v4 Learn the architecture - Arm Generic Interrupt Controller v3 and v4 Version 3.2 借助DeepL翻译 个人补充一些内容 建议提前阅读: arm 的 异常模型 1、Overview 本指南概述了 Arm 通用中断控制器 (GIC) v3 和 v4 …

Python算法例32 统计数字

1. 问题描述 计算数字k在0~n中出现的次数,k可能是0~9中的一个数字。 2. 问题示例 n12,k1,在[0,1,2,3,4,5,6,7,8,9,10&a…

BGP路由知识点

目录 1.BGP的工作原理: 2.BGP路由的一般格式: 3.三种不同的自治系统AS 4.BGP的路由选择 5.BGP的四种报文 BGP(Border Gateway Protocol)是一种用于自治系统(AS)之间的路由选择协议。它是互联网中最常用…

2023年12月编程语言排行榜

TIOBE Index for December 2023 December Headline: C# on its way to become programming language of the year 2023 2023年12月的TIOBE指数:12月头条:c#将成为2023年最佳编程语言 Yes, I know, we have been here before. At the end of 2022, it looked like …

项目经验简单总结

引擎 unity 2020 语言 C# lua python(用于工具链) java (用于SDK对接) js(PC WEB SDK对接) 编辑器 VS VSCODE IDEA eclipse 项目开发模块规划分 主项目工程,UI资源项目工程,模型场景资源项目工程 主项目工程:所有的…

国标GB28181对接的时候如何配置服务端口和本地端口

目 录 一、国标GB28181对接需要配置的端口等参数 二、GB28181服务器端口的配置:SIP服务器端口 三、GB28181设备测端口的配置:本地SIP端口 (一)本地SIP端口配置的意义 (二&#xf…

Spring Cloud + Vue前后端分离-第9章 大文件断点续与极速秒传

源代码在GitHub - 629y/course: Spring Cloud Vue前后端分离-在线课程 ​​​​​​Spring Cloud Vue前后端分离-第9章 大文件断点续与极速秒传 作为一个视频网站,一个文件小则几十M,大则上G,上传一个大文件受网络影响很大,文…

Linux--批量自动装机

实验环境 随着某公司业务不断发展,服务器主机的数量也迅速增长,对于功能变更或新采购的服务器, 需要重新安装CentOS7操作系统,为了提高服务器装机效率,要求基于PXE网络实现全自动无人值 守批量安装。 需求描述 > 服…

【面向对象项目之图书馆管理系统】

项目需求 不同的用户有不同的菜单,然后进行操作。 设计思路 通过需求我们可以提取图书类,书架类 图书类存放图书的基本信息,书架类存放书本及其它的数量,以及操作图书的方法等等。接口类(用来操作书架里面的图书&…

2023年“中银杯”安徽省网络安全B模块(部分解析)

前言 以下是2023年中银杯安徽省网络安全B模块题目,镜像可以私聊我 B模块安全事件响应/网络安全数据取证/应用安全(400 分) B-1:CMS网站渗透测试 任务环境说明: √服务器场景:Server2206(关…

虚幻UE 材质-PDO像素深度偏移量

2024年的第一天!!!大家新年快乐!!! 可能是长大了才知道 当你过得一般 你的亲朋好友对你真正态度只可能是没有表露出来的冷嘲热讽了 希望大家新的一年平安、幸福、 永远活力满满地追求自己所想做的、爱做的&…

计算图与动态图机制

一、计算图 计算图是用来描述运算的有向无环图 计算图有两个主要元素:结点(Node)和边(Edge) 结点表示数据,如向量,矩阵,张量边表示运算,如加减乘除卷积等 用计算图表…

nginx源码分析-4

这一章内容讲述nginx的模块化。 ngx_module_t:一个结构体,用于描述nginx中的各个模块,其中包括核心模块、HTTP模块、事件模块等。这个结构体包含了一些模块的关键信息和回调函数,以便nginx在运行时能够正确地加载和管理这些模块。…