(Java企业 / 公司项目)JMeter接口压测使用(保姆式手把手教会)

news2024/12/24 16:20:58

一. JMeter简介认识(重点是下面的使用方法)

JMeter是一个开源的Java应用程序,由Apache软件基金会开发和维护,可用于性能测试、压力测试、接口测试等。

1. 原理

JMeter的基本原理是模拟多用户并发访问应用程序,通过发送HTTP请求或其他协议请求,并测量响应时间、吞吐量、并发用户数、错误率和性能指标等,以评估应用程序的性能和稳定性。

2. JMeter特性

1)支持多种协议

支持HTTP、HTTPS、FTP、TCP、JDBC和JMS等协议,可以模拟多种网络环境和应用程序场景。

2)支持多种测试类型

支持负载测试、压力测试、功能测试、基准测试和分布式测试等多种测试类型,适用于不同的性能测试需求。

3)支持多种测试场景

支持多种测试场景,包括并发用户数、持续时间、循环次数和延迟时间等,可以模拟真实的使用场景。

4)支持多种测试结果收集和显示方式

支持多种测试结果收集和显示方式,包括聚合报告、图形结果、树形结果和控制台输出等,便于性能分析和优化。

5)支持插件和扩展

JMeter支持插件和扩展,可以扩展其功能和性能,以满足特定的性能测试需求。

2. JMeter的组件

1)测试计划(Test Plan)

测试计划是JMeter中的最高层次,包括多个线程组、配置元件和监听器等。测试计划用于设置全局的测试参数,包括测试名称、工作目录、线程数和持续时间等。

2)线程组(Thread Group)

线程组是JMeter中用于模拟并发用户访问应用程序组件,包括一组线程(用户)和一组控制器(逻辑控制)。线程组用于设置线程数、循环次数、持续时间和延迟等参数,控制器用于设置线程(用户)的请求和响应的逻辑控制。

3)HTTP请求(HTTP Request)

HTTP请求是JMeter中模拟客户端向服务器发送HTTP请求的组件。HTTP请求包括请求的URL、协议、方法、参数、头部和Body等,可以模拟GET、POST、PUT、DELETE等HTTP请求方法,以测试应用程序的响应速度和性能。在HTTP请求中,可以设置请求的参数、响应的断言和监听器等,以收集和显示测试结果。

4)控制器(Controller)

用于控制测试计划和线程组的执行流程,包括简单控制器、随机控制器、循环控制器和条件控制器等。

5)监听器(Listener)

监听器是JMeter中收集和显示测试结果的组件,包括聚合报告监听器、图形结果监听器、树形结果监听器和控制台输出监听器等。监听器用于监控测试结果,以评估应用程序的性能和稳定性,并生成报告。

6)断言(Assertion)

断言是JMeter中验证HTTP响应的状态码、内容和格式的组件,包括响应码断言、响应内容断言和响应时间断言等。断言用于验证HTTP响应的正确性和完整性,以确保应用程序的功能和性能。

7)配置元件(Config Element)

用于配置测试计划和线程组的属性和参数,包括HTTP请求默认值、CSV数据文件配置和用户定义的变量等。

8)启动器(Timer)

用于在发送HTTP请求前或线程开始前等待一段时间,以模拟用户的行为。启动器用于设置线程组的执行前等待时间,以模拟真实的使用场景。

9)前置处理器(Pre-Processor)

用于在发送HTTP请求前进行处理,包括用户参数、CSV数据集和HTTP Cookie等。

10) 后置处理器(Post-Processor)

用于在接收HTTP响应后进行处理,包括正则表达式提取器和XPath提取器等。

重点: 

很多企业当中这个东西也挺需要的,一般都是使用postman来测试接口,但是我们使用的是JMeter

首先看下面的官网Apache JMeter - Apache JMeter™

 下载地址以及下载方式如下图

二.  JMeter的启动方式如下

liunx启动的方式是.sh结尾的方式,但是我的是window实现效果所以按照下面的方式来启动

 windows启动方法

修改配置默认为英文的我们改成中文

在bin文件夹下面有一个jmeter. properties文件在里面找到language将英文改成中文zh_cn

 将默认的en改成中文的zh_CN这个表示的就是中文

 双击启动后等一会就会出现客户端的页面,可以自由设置自己的背景图以及主题

三 . JMeter使用操作

1)工具栏:包含了常用的功能按钮,例如开始、停止、保存和导入等。例如,我们可以使用工具栏上的按钮开始和停止测试,以便进行测试和观察测试结果。

2)树形结构:用于组织测试计划的各个组件,包括测试计划、线程组、控制器、监听器和配置元件等。

3)属性窗口/面板:用于显示和编辑选定组件的属性,例如线程数、延迟和协议等。

4. JMeter的配置文件

JMeter的配置文件用于存储各种配置选项和全局变量,包括以下几个主要文件:

1)jmeter.properties:包含了JMeter的全局配置选项,例如默认编码、连接超时和代理服务器等。

2)user.properties:包含了用户自定义的全局变量和配置选项,例如用户定义的变量和自定义的插件等。

3)saveservice.properties:JMeter的结果保存配置文件,包含JMeter测试结果的保存格式、编码、压缩、分隔符等配置参数。

 接下来就是点击Ctrl + S也就是保存操作,这个时候就会弹出一个框里面就是要你选择保存的位置,可以新建和选择文件夹这里我就在安装包的位置新建一个文件夹JmeterProduct工作区,后面保存的都可以放在这个文件夹里

 Jmeter的文件其实是一个xml。

右击新建 - 》 添加- 》 线程用户- 》 线程组

线程组中可以模拟高并发场景下一个接口的测试情况

 右击线程组-》添加- 》 取样器- 》 HTTP请求

 四. JMeter项目如何操作

前面设置完毕之后配置这个接口的信息

 增加请求头,按照一个接口的的信息来配置,因为这是一个登录接口我们需要配置一下名称和值这样就接口就可以获取到json格式的数据,以及post的请求方式,等点击保存之后保存在前面创建的文件夹中直接save就好了。

 接下来就是配置信息主体的参数了

注意:消息题数据里面必须是标准的json,key必须带引号,最后一个key后面不能有逗号

 当我们启动这个测试接口之后查看idea后台会发现登录成功了,并且生成了token,启动方式就是点击这个会员登录,然后点击上面的绿色三角形就好了

 注意: 这样每次都要查看idea后台那还不如直接使用idea自带的接口测试呢

所以我们再来配置一下如何在jmeter里面显示后台的返回结果

右击添加-》监听器 -》查看结果树, 然后再执行这个接口查看返回结果

 点击再执行一次查看这个查看结果树

注意:  Jmeter的消息题也就是传格式的时候必须按照标准的json格式来传参数

我发起10个线程来循环发1个请求 来执行这个接口来模拟看看什么效果,在线程组中配置一下就好了很简单重要的是效果

效果就是上面的情况返回了10个请求的响应数据来测试。

以上就是JMeter的使用。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手把手教你如何搭建Spring本地编译环境

大家好,我是极客涛,不知道小伙伴有没有和我一样的情况,在阅读Spring源码时,只通过静态的代码阅读很难有更深刻的理解,所以建议通过写测试类进行debug的方式,对核心的代码进行运行时的状态调试,这…

2024年腾讯云服务器活动价格整理汇总,5年和三年选择

腾讯云服务器租用价格表:轻量应用服务器2核2G3M价格62元一年、2核2G4M价格118元一年,540元三年、2核4G5M带宽218元一年,2核4G5M带宽756元三年、轻量4核8G12M服务器446元一年、646元15个月,云服务器CVM S5实例2核2G配置280.8元一年…

TLS握手流程分析

1.SSL/TLS 历史 HTTP 是明文传输的协议,可能受到第三方的攻击,非常不安全。因此才诞生 “HTTPS”。 这个 “S” 表示 SSL/TLS 协议,用公式说明:HTTPS HTTP SSL(TLS)。 其中 SSL 即安全套接层(Secure Sockets Layer&…

【开发篇】四、MAT堆内存分析(Memory Analyzer Tool)

文章目录 1、使用2、报错3、MAT支配树4、MAT内存泄漏的检测原理5、导出运行中系统的内存快照6、补充 1、使用 内存溢出后,分析泄露的思路是: 在OOM前,将整个堆内存保存成一个hprof文件MAT打开hprof文件,MAT自行分析可疑对象 添…

模拟器安装XPosed框架教程

Xposed框架下载(搞不懂就先看完本篇教程再下载) 99%的情况只需要下载里面的XPosed鸭就行了 安卓8及以下XPosed框架 - 多开鸭模拟器安装XPosed框架图文视频教程 关于本站XPosed框架的说明 XPosed框架(即XP框架),由rovo89开发。适用于安卓7以…

Kafka消费流程

Kafka消费流程 消息是如何被消费者消费掉的。其中最核心的有以下内容。 1、多线程安全问题 2、群组协调 3、分区再均衡 1.多线程安全问题 当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。 对于线程安全&…

HNU-算法设计与分析-实验4

算法设计与分析实验4 计科210X 甘晴void 202108010XXX 目录 文章目录 算法设计与分析<br>实验41 回溯算法求解0-1背包问题问题重述想法代码验证算法分析 2 回溯算法实现题5-4运动员最佳配对问题问题重述想法代码验证算法分析 3 分支限界法求解0-1背包问题问题重述想法…

OpenGL Assimp加载各类型模型(.obj、.fbx、.glb、.3ds)

1.简介 本博客以.glb格式为例&#xff0c;加载glb格式的3d模型&#xff0c;网上找了一圈&#xff0c;基本上都是根据OpenGL官方示例&#xff0c;加载.obj格式的3d模型。 下面以.obj和.glb格式的3D模型简单介绍一下。 常见的.obj格式的3D模型如下所示&#xff1a;纹理都已经被…

FineBI实战项目一(23):订单商品分类词云图分析开发

点击新建组件&#xff0c;创建订单商品分类词云图组件。 选择词云&#xff0c;拖拽catName到颜色和文本&#xff0c;拖拽cat到大小。 将组件拖拽到仪表板。 结果如下&#xff1a;

MYSQL的学习——单行函数详解

目录 1. 数值函数 1) 基本函数 2) 角度与弧度互换函数 3) 三角函数 4) 指数与对数函数 5) 进制间的转换 2. 字符串函数 3. 日期和时间函数 1) 获取日期、时间 2) 日期与时间戳的转换 3) 获取月份、星期、星期数、天数等函数 4) 日期的操作函数 5) 时间和秒钟转换的…

商业世界,从2023到2024

作者&#xff5c;潮汐商业评论 编辑&#xff5c;Ray 变化总在发生&#xff0c;你不去迎接进步的变化&#xff0c;就会等到退步的变化。 —— 查理.芒格 2023, 我们似乎总在不断告别。从“一生自由”的大家黄永玉到“智慧”投资家查理.芒格&#xff0c;再到写出《不能承受的生命…

条款24:若所有参数皆需类型转换,请为此采用非成员函数

设计一个表示有理数的类时&#xff0c;允许从整数隐式转换为有理数是有用的&#xff1a; class Rational { public:Rational(int numerator 0, // 该构造函数没有explicit限制;int denominator 1); int numerator() const; int denominator() const; const Rational opera…

如何用GPT制作PPT和写代码?

详情点击链接&#xff1a;如何用GPT制作PPT和写模型代码&#xff1f; 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定…

04.SpringCloud网关-gateway

1.Gateway服务网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0 和 Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式…

qt.qpa.plugin: Could not find the Qt platform plugin “windows“ in ““

系统环境&#xff1a;Win10家庭中文版 Qt : 5.12.9 链接了一些64位的第三方库&#xff0c;程序编译完运行后出现 qt.qpa.plugin: Could not find the Qt platform plugin "windows" in "" 弹窗如下&#xff1a; 网上搜了一些都是关于pyQt的&#xff0c…

基于Python+Django,我搭建一个视频点播平台

学习过程中&#xff0c;遇到问题可以咨询作者 功能介绍 平台采用B/S结构&#xff0c;后端采用主流的Python语言进行开发&#xff0c;前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 前台功能包括&#xff1a;首页、视频列表页面、视频详情页、用户中心模…

国际版WPS Office 18.6.1

【应用名称】&#xff1a;WPS Office 【适用平台】&#xff1a;#Android 【软件标签】&#xff1a;#WPS 【应用版本】&#xff1a;18.6.1 【应用大小】&#xff1a;160MB 【软件说明】&#xff1a;软件日常更新。WPS Office是使用人数最多的移动办公软件。独有手机阅读模式…

MR-GCN

∘ Φ \circ_Φ ∘Φ​ denotes a convolution Let b l o c k d i a g blockdiag blockdiag(A) be a n1n3-by-n2n3 block diagonal matrix&#xff0c; f o l d fold fold indicate its inverse operator diagonal degree tensor D \mathcal{D} D 作者未提供代码

科教文汇期刊怎么投稿?

《科教文汇》系国家新闻出版署认定的第一批学术期刊&#xff0c;主要刊登教育领域有创新性、学术性和实用性&#xff0c;有较高学术价值的论文。本刊由顾问、名誉社长、主任编委及编委组成学术审读团体&#xff0c;注重教研教改成果的宣传、案例的分析、经验的介绍及学术的交流…

Maven《二》-- Maven的安装与配置(亲测成功版)

目录 &#x1f436;2.1 Maven的安装条件 &#x1f436;2.2 Maven安装步骤 1. 检查本地%JAVA_HOME% 2. 解压maven 3. 配置maven的环境变量 4. 校验maven是否配置成功 5. 配置本地仓库 &#x1f436;2.3 Idea配置本地Maven软件 &#x1f436;2.1 Maven的安装条件 各个工具…