Jmeter教程-JMeter 环境安装及配置

news2025/1/17 21:40:53

 

Jmeter教程

image


 

JMeter 环境安装及配置

在使用 JMeter 之前,需要配置相应的环境,包括安装 JDK 和获取 JMeter ZIP 包。


安装JDK


1.JDK下载

示例环境为Windows11环境,读者应根据实际环境下载JDK的安装包。

JDK下载地址:

Java21 下载

建议下载exe文件,如图:

image


2.安装JDK

建议在D盘下新建Tools文件夹,JDK安装时更改安装目录为Tools。好处就是方便管理、配置环境变量。

image

image

接下来就是一直下一步就行。


配置JDK系统变量


想要使用JDK需要配置环境变量。


警告:
不要随意改动环境变量,否则可能造成系统死机。

1.新建JAVA_HOME系统变量

变量值就是JDK的安装目录,如图:

image

image


2.Path中新建JAVA_HOME的环境环境

系统变量中找到Path,选中,点击编辑,进入Path系统变量窗口。

  • 新建,输入:

    %JAVA_HOME%\bin;
    
  • 新建,输入:

    %JAVA_HOME%\jre\bin;
    

ps:windows11好像不需要输入最后的;

如图:

image

最后:

确定-确定-应用-确定

安装Jmeter


1.下载JmeterZIP包

JmeterZIP包下载地址:

最新版本Jmeter下载

历史版本Jmeter下载

建议下载zip.sha512包,如图:

image


2.解压到目录

建议解压到D:\Tools目录下,如图:

image


3.汉化Jmeter界面

修改Jmeter目录下bin文件夹内jmeter.properties,推荐使用Notepad++软件进行修改。

language=zh_CN

如图:

image


4.发送启动文件到桌面快捷方式

如图:

image


5.启动Jmeter

桌面双击Jmeter快捷方式,如图:

image


快速使用


我们可以使用最简单的JMeter脚本来快速进行一次接口请求。这个脚本包括测试计划、线程组、取样器(Sampler)以及查看结果器(View Results Tree)。

在测试计划中,我们定义了整个测试的基本设置。线程组用于模拟用户,而取样器则代表了具体的请求。查看结果器则用于查看请求的详细结果。

通过这个简单的脚本,我们能够迅速进行一次接口请求测试,为后续更复杂的测试做好基础工作。这个基本结构也为我们学习更多JMeter的高级功能打下了基础。


示例接口:
@api.route('/QuickUse/', methods=['GET', 'POST'])
def quickuse():  # Jmeter教程快速开始api
    if request.method != 'GET':
        return jsonify({'code': 400, 'data': 'ERROR: The request method is not GET!'})
    return jsonify({'code': 200, 'data': 'It is successful!'})

Jmeter脚本

1.添加基本组件

右键测试计划-添加-线程(用户)-线程组。

右键测试计划-添加-监听器-查看结果树。

右键线程组-添加-取样器-HTTP请求。


2.HTTP请求控制面板:

请求地址:

HTTP://127.0.0.1:5000/QuickUse/

请求方式:

GET

如图:

image


运行Jmeter脚本(点击上方绿色三角形),查看结果树:

请求数据:


请求头:

Connection: keep-alive
Host: 127.0.0.1:5000
User-Agent: Apache-HttpClient/4.5.14 (Java/20.0.2)

请求体:

GET http://127.0.0.1:5000/QuickUse/

GET data:


[no cookies]

响应数据:


响应头:

HTTP/1.1 200 OK
Server: Werkzeug/3.0.1 Python/3.12.1
Date: Mon, 15 Jan 2024 03:39:26 GMT
Content-Type: application/json
Content-Length: 40
Connection: close

响应体:

{"code": 200, "data": "It is successful!"}

如图:

image


本篇主要介绍JMeter的环境配置以及初体验,为后续的JMeter之旅做好准备。在这一章节中,我们将了解如何配置JMeter的环境,以及如何进行简单的接口测试。接下来的篇章将深入探讨JMeter的各项功能和用法,帮助你更好地利用这个强大的性能测试工具。

2024最新Jmeter接口测试从入门到精通(全套项目实战教程)

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

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

相关文章

windows自带录屏指南,让视频制作更简单!

随着网络技术的发展,录制电脑屏幕已成为了许多用户的常见需求,无论是录制游戏画面、软件教程还是制作演示视频,一款好用的录屏工具都至关重要。windows操作系统为用户提供了多种录屏工具,无需额外安装软件。本篇文章将介绍windows…

Guitar Pro 8.1 Mac 2024最新下载、安装、激活、换机图文教程

Guitar Pro 8是吉他手的终极工具箱,也是阅读和编辑乐谱的领先软件。26 年来,Guitar Pro 一直在帮助世界各地的音乐家学习弹吉他、创作歌曲以及转录和编辑歌集。 Guitar Pro是一款专业的吉他制谱软件,现在已更新至Guitar Pro8,新增了支持添加音频轨道、支…

19-树-填充每个节点的下一个右侧节点指针 II

这是树的第19篇算法,力扣链接。 给定一个二叉树: struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL 。…

从入门到精通:AI绘画与修图实战指南

💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】🤟 基于Web端打造的:👉轻量化工具创作平台💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 在这篇文章中,我们将深入探讨如何利…

JAVA高并发——人手一支笔:ThreadLocal

文章目录 1、ThreadLocal的简单使用2、ThreadLocal的实现原理3、对性能有何帮助4、线程私有的随机数发生器ThreadLocalRandom4.1、反射的高效替代方案4.2、随机数种子4.3、探针Probe的作用 除了控制资源的访问,我们还可以通过增加资源来保证所有对象的线程安全。比如…

2024年数学建模竞赛汇总——时间轴

美赛已过,好多小伙伴表示已经错过,不清楚什么时候报名,什么时候准备,其实每年数学建模比赛有很多个,各大比赛的级别、报名时间、参赛对象等要求什么呢?小编从竞赛说明、竞赛级别、是否允许跨校、报名费用、…

MySQL基础学习

MySQL基础 注意:本文的图片截图自尚硅谷MySQL笔记。 一:基本概述: 什么是数据库: 数据库是一种用来存储和管理数据的系统。它是一个组织化的数据集合,可以通过计算机系统进行访问、管理和更新。数据库可以存储各种…

【C++】vector模拟实现+迭代器失效

vector模拟实现 成员变量定义默认成员函数构造函数 迭代器范围for、对象类型匹配原则 容量操作sizeemptycapacityreserve成员变量未更新memcpy值拷贝 resize内置类型的构造函数 数据访问frontbackoperator[ ] 数据修改操作push_backpop_backswapclearinsertpos位置未更新无返回…

Atcoder ABC340 C - Divide and Divide

Divide and Divide(分而治之) 时间限制:2s 内存限制:1024MB 【原题地址】 所有图片源自Atcoder,题目译文源自脚本Atcoder Better! 点击此处跳转至原题 【问题描述】 【输入格式】 【输出格式】 【样例1】 【样例…

Unity2023.1.19没有PBR Graph?

Unity2023.1.19没有PBR Graph? 关于Unity2023.1.19没有PBR graph的说法,我没看见管方给出的答案,百度则提到了Unity2020版之后Shader Graph的“全新更新”,之前也没太注意版本的区别,以后项目尽量都留心一下。 之前文章说过,孪生智慧项目推荐使用URP渲染管线,以上的截…

基于学习的参数化查询优化方法

一、背景介绍 参数化查询是指具有相同模板,且只有谓词绑定参数值不同的一类查询,它们被广泛应用在现代数据库应用程序中。它们存在反复执行动作,这为其性能优化提供了契机。 然而,当前许多商业数据库处理参数化查询的方法仅仅只…

JavaScript编写一个倒计时

关键js代码 <script>function countdown() {var targetDate new Date("2024-02-20 12:00:00");var currentDate new Date();var timeDiff targetDate.getTime() - currentDate.getTime();var days Math.floor(timeDiff / (1000 * 60 * 60 * 24));var hours…

电商数据API接口 | 节省你的电商数据采集成本

1、将数据采集的整体成本降低55%。在电商API接口负责了整个数据采集流程后&#xff0c;这家电商公司成功节约了维护和开发上的成本。 2、电商爬虫API可以从极复杂的来源中采集数据&#xff0c;确保完整交付。在电商爬虫API的帮助下&#xff0c;该公司现在可以获取完成业务目标所…

threejs 3D标注

import { CSS3DObject } from "three/examples/jsm/renderers/CSS3DRenderer";gltfLoader.load("./model/exhibit2.glb", (gltf) >{let array ["雕像", "中药房", "浸制区", "道地沙盘","动物标本区&quo…

Java的Lock(二)

自旋锁 VS 适应性自旋锁 堵塞或者notify一个Java线程需要操作系统切换CPU状态来完成(详情请参考11408)。这种状态切换需要耗费CPU时间。如果同步代码块种的内容过于简单。状态切换消耗的时间可能比用户代码执行的时间还要长。 在许多场景中,同步资源的锁定时间很短,为了这一…

【C语言】Leetcode 88.合并两个有序数组

一、代码实现 /*** 函数名称&#xff1a;merge* * 功能描述&#xff1a;合并两个已排序的整数数组* * 参数说明&#xff1a;* nums1&#xff1a;第一个整数数组* nums1Size&#xff1a;第一个数组的大小* m&#xff1a;第一个数组中要合并的子数组的起始索引* nums2&a…

MyBatis Plus:自定义typeHandler类型处理器

目录 引言&#xff1a;关于TypeHandler PostGreSQL&#xff1a;JSON数据类型 PostGreSQL数据库驱动&#xff1a;PGobject类 TypeHandler类型处理器 自定义类型处理器 类型处理器实现&#xff1a;PGJsonTypeHandler 注册类型处理器 引言&#xff1a;关于TypeHandler MyBa…

普中51单片机学习(十四)

中断系统 中断的概念 CPU在处理某一事件A时&#xff0c;发生了另一事件B请求CPU迅速去处理&#xff08;中断发生&#xff09;,CPU暂时中断当前的工作&#xff0c;转去处理事件B&#xff08;中断响应和中断服务)&#xff0c;待CPU将事件B处理完毕后&#xff0c;再回到原来事件…

【C语言的小角落】逻辑与逻辑或混合计算

关注小庄 顿顿解馋(≧◡≦) 引言&#xff1a;本篇博客小庄带领小伙伴们解决一个比较角落有时头疼的问题—关于逻辑与和逻辑或结合运算的问题&#xff0c;请放心食用~ 我们先放代码说话 int main() {int x 1;int y 3;int z 4;if(x1 || y && z){;} printf("y …

【医学大模型】Text2MDT :从医学指南中,构建医学决策树

Text2MDT &#xff1a;从医学指南中&#xff0c;构建医学决策树 提出背景Text2MDT 逻辑Text2MDT 实现框架管道化框架端到端框架 效果 提出背景 论文&#xff1a;https://arxiv.org/pdf/2401.02034.pdf 代码&#xff1a;https://github.com/michael-wzhu/text2dt 假设我们有一…