Jmeter使用教程

news2024/10/1 21:32:46

目录

  • 一,简介
  • 二,Jmeter安装
    • 1,下载
    • 2,安装
  • 三,创建测试
    • 1,创建线程组
    • 2,创建HTTP请求默认值
    • 3,创建HTTP请求
    • 4,添加HTTP请求头
    • 5,添加断言
    • 6,添加查看结果树
    • 7,添加汇总报告
  • 四,运行测试
  • 五,查看汇总报告

一,简介

今天给项目做一下压测,安装Jmeter的时候有几个步骤忘了,在这里记录一下。
百度百科对Jmeter的介绍是:Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试

二,Jmeter安装

1,下载

  • 官网地址: Jmeter
  • 下载zip软件包
    在这里插入图片描述

2,安装

下载下来的zip包先进行解压,安装之前先进行一下配置,解决中文乱码的问题。

  • 找到sampleresult.default.encoding,默认是ISO-8859-1,我们将其该为utf-8
    在这里插入图片描述
  • 修改默认的语言,默认是英语,这里修改为中文,随后保存在这里插入图片描述
  • 双击jmeter.bat,会弹出来cmd窗口和GUI窗口,

三,创建测试

1,创建线程组

在"Test Plan"上右键【添加】–>【线程(用户)】–>线程组
在这里插入图片描述
设置线程属性:

  • 线程数:代表创建多少个线程,比如要测试Sentinel的流控下的线程数限流,就可以设置线程数来测试。
  • Ramp-Up:表示间隔多少秒,如果是1,代表20个线程在1秒内发送,如果是0表示这20个线程同时发送。
  • 循环次数:这里只循环一次
    在这里插入图片描述

2,创建HTTP请求默认值

在刚刚创建的线程组上右键–>【配置元件】–>【HTTP请求默认值】
在这里插入图片描述
设置一些公用的参数,通信协议,服务器的ip,服务端口号等
在这里插入图片描述
HTTP请求默认值是配置一些公有的信息,下面创建的HTTP请求如果没有配置这些公有信息,就会使用【HTTP请求默认值】里的,如果配置了就使用自己的

3,创建HTTP请求

在这里插入图片描述
这里可以输入参数信息,比如下面是json格式的
在这里插入图片描述

4,添加HTTP请求头

在创建的线程组上右键–>【添加】–>【配置元件】–>【HTTP信息头管理器】
在这里插入图片描述
这里上传的json格式的数据,所有请求头可设置为:
Content-Type application/json
在这里插入图片描述

5,添加断言

在之前创建的线程组上右键–>【添加】–>【断言】–>【响应断言】
在这里插入图片描述
断言就是判断返回的信息是不是和自己预期的一致,可以根据自己的需要配置,可以判断响应代码,也可以判断响应文本
在这里插入图片描述

6,添加查看结果树

在线程组上右键–>【添加】–>【监听器】–>【查看结果树】
在这里插入图片描述
添加完结果树以后就可以直接运行了,但是Jmeter建议我们不要使用GUI进行压力测试,GUI仅用于压力测试的创建和调试,执行压力测试的时候不要通过GUI,通过命令行来执行。
在这里插入图片描述

7,添加汇总报告

在创建的线程组上右键–>【添加】–>【监听器】–>【汇总报告】
在这里插入图片描述
至此,测试用例就创建好了,可以在GUI上点一下看看有没有报错,然后点击保存,就查看结果树的jmx文件保存到对应的文件,运行测试我们通过命令行。

四,运行测试

测试用例创建好后,GUI就可以关闭了,之后我们打开cmd命令行,进入到jmeter的bin目录下,然后运行下面的指令

jmeter -n -t 查看结果树.jmx -l D:\JAVA\apache-jmeter-5.5\test_result\testplan\result.txt -e -o D:\JAVA\apache-jmeter-5.5\test_result\testplan\webreport

说明:

  • 查看结果树.jmx:是之前在GUI创建的文件,因为保存在了jmeter的bin目录下,当前命令行也是在bin目录中打开,所以直接调用即可。
  • result.txt:是压力测试运行后的结果文件,这里用了绝对路径,相对路径会以当前bin为父级,不太好设置。
  • webreport:是汇总报告,压力测试运行完成后会生成该报告。

注意: 命令行中出现的目录,比如test_resut, testplan, 先提前创建好,不然会报如下错误:

An error occurred: Cannot write to 'D:\JAVA\apache-jmeter-5.5\bin\test_result\testplan\webreport' 
as folder does not exist and parent folder is not writable

五,查看汇总报告

命令运行成功后,会生成汇总报告,位置就是在命令后指定的。
在这里插入图片描述
双击用浏览器打开index.html,可以查看汇总报告。
在这里插入图片描述

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

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

相关文章

BoostSearcher搜索引擎项目

BoostSearcher搜索引擎项目 1.BoostSearcher这个项目是什么? 答:一个为Boost文档建立索引的站内搜索引擎,简单的说就是一个类似于csdn站内文档搜索框。 项目展示: gitee:https://gitee.com/zxlfx/boost-search-engine-project …

二叉树——堆

一,树的概念及结构 1.树 4.结点的度:一个节点含有子树的个数称为该结点的度;如:A 的度为6. 5.叶节点或终端节点:度为0的节点称为叶节点;如:B 6.非终端结点或分支节点:度部位0的结…

【华为OD机试模拟题】用 C++ 实现 - 吃火锅(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

【华为OD机试模拟题】用 C++ 实现 - 分积木(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

基于博客系统的测试用例

登陆界面博客预览页博客详情页博客编辑页

每日一题——L1-085 试试手气(15)

L1-085 试试手气 我们知道一个骰子有 6 个面,分别刻了 1 到 6 个点。下面给你 6 个骰子的初始状态,即它们朝上一面的点数,让你一把抓起摇出另一套结果。假设你摇骰子的手段特别精妙,每次摇出的结果都满足以下两个条件:…

【Java8】

1、接口中默认方法修饰为普通方法 在jdk8之前,interface之中可以定义变量和方法,变量必须是public、static、final的,方法必须是public、abstract的,由于这些修饰符都是默认的。 接口定义方法: public抽象方法需要子类实现 接口定…

TCP报文详解

目录 🐇今日良言:但尽全力,且让心安 🐼一、TCP协议特点 🐳二、TCP协议段格式 🐯三、TCP的10个核心机制 🐝四、三次握手和四次挥手 🐇今日良言:但尽全力,且让心安 🐼一、TCP协议特点 TCP :Tr…

OAuth 2.0 认证和攻击面

0x00 前提 最近在测试公司的 oauth 认证方面的问题,要再去熟悉一下这块,所以把这块写一下。 0x01 OAuth2.0 概念 OAuth是一个关于授权(authorization)的开放网络标准,目前是最常见最通用的一个授权协议。 什么地方…

uni-app:获取当前经纬度解决方案+如何布置全局组件

这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.布置全局组件 在我们开发的过程中,会碰到一个现象,就是在页面里面引入组件,总算要写import,components才能引用,这里给大家分享我们的一个…

JavaWeb--Tomcat

Tomcat1 简介1.1 什么是Web服务器2 基本使用2.1 下载2.2 安装2.3 卸载2.4 启动2.5 关闭2.6 配置2.7 部署3 Maven创建Web项目3.1 Web项目结构3.2 创建Maven Web项目4 IDEA使用Tomcat4.1 集成本地Tomcat4.2 Tomcat Maven插件目标: 掌握Tomcat的使用掌握在IDEA中使用To…

CMake模块的使用和自定义模块

CMake模块的使用和自定义模块一、前言二、使用Find模块2.1、准备工作2.2、添加头文件路径和库文件2.3、< name >_FOUND 来控制工程特性三、编写自定义的Find模块3.1、 准备工作3.2、cmake 模块3.3、使用自定义的FindHELLO 模块构建工程3.4、如果没有找到hello library四、…

备战金三银四,熬夜半个月汇集大厂 Java 岗 1600 页面试真题

如果你不停地加班。却很少冒险&#xff0c;也很少学习&#xff0c;那你极大可能会陷入到内卷中。 为什么这么说呢&#xff1f;我们先来捋清楚「内卷」的概念&#xff1a; 「内卷化」简而言之就是&#xff1a;日复一日&#xff0c;越混越掉坑里。 所谓内卷化&#xff0c;指一种…

CHAPTER 2 Web Server - nginx 功能示例

nginx功能示例2.1 Nginx反向代理-示例1. 配置nginx.conf2. 配置访问机器的hosts3. 访问网址4. 遗留问题2.2 Nginx负载均衡-详解及示例2.2.1 负载均衡配置参数简介1. upstream模块简介2. 负载均衡算法简介2.2.2 示例演示1. 修改配置文件2. 示例效果2.3 Nginx动静分离-示例1. 修改…

【华为OD机试模拟题】用 C++ 实现 - 任务调度(2023.Q1)

最近更新的博客 【华为OD机试模拟题】用 C++ 实现 - 货币单位换算(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 选座位(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 停车场最大距离(2023.Q1) 【华为OD机试模拟题】用 C++ 实现 - 重组字符串(2023.Q1) 【华为OD机试模…

【电路设计】常见电路及相关解释

前言 在接触电路设计过程中&#xff0c;往往需要用到一些常见的电路&#xff0c;但是临时查找又太浪费时间&#xff0c;因此&#xff0c;想总结一些常见电路的分析方式。 1 RC电路充放电公式 一般的RC电路如下图所示。 其充放电公式如下所示。 VtV0(V1−V0)(1−e−tRC)tRCln…

Python---关联与继承

专栏&#xff1a;python 个人主页&#xff1a;HaiFan. 专栏简介&#xff1a;Python在学&#xff0c;希望能够得到各位的支持&#xff01;&#xff01;&#xff01; 关联与继承前言has a关联关系is a继承关系子类不添加__init__子类添加__init__前言 has a关联关系 has - a 是在…

【华为OD机试模拟题】用 C++ 实现 - 符合条件的子串长度(2023.Q1)

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…

28张图讲解支付系统的通用设计,漂亮!

支付永远是一个公司的核心领域&#xff0c;因为这是一个有交易属性公司的命脉。那么&#xff0c;支付系统到底长什么样&#xff0c;又是怎么运行交互的呢&#xff1f;抛开带有支付牌照的金融公司的支付架构&#xff0c;下述链路和系统组成基本上符合绝大多数支付场景。其实整体…

HCIA-HarmonyOS Application Developer——题目集1

题目1 1、一位开发人员在设计应用程序时&#xff0c;添加了一个Text组件和Button组件&#xff0c;开发样图如下所示。该开发者不能选择哪种布局方式来放置组件? A、StackLayout B、DependentLayout C、DirectionalLayout D、TableLayout 解析&#xff1a;&#xff08;A&#…