性能测试1初步使用Jmeter

news2024/9/25 16:32:11

当你看到这边文章的时候,详细你已经知道啥是性能测试,以及也听说过Jmeter了,所以不过多介绍,这里,只是帮助你快速的使用Jmeter来测试接口。

1获取安装包

官网下载地址:https://jmeter.apache.org/download_jmeter.cgi
我连同JDK也放到CSDN了,不需要积分:https://download.csdn.net/download/m0_37892044/89795946
在这里插入图片描述
OracleJDK安装的时候会自动配置环境变量,因此可以不用配置java环境变量,缺点就是没法用一些Oracle提供的支持(当然百分之99的人都用不到)。下图为例,下面是使用OracleJDK安装包安装的时候,自动配置的环境变量,如果你要自己配置环境变量,要么把你配置的环境变量放到这个默认配置的前面(谁在前,谁优先),要么删掉默认的配置
在这里插入图片描述
下面是默认OracleJDK环境变量的可执行文件,可以看到只有核心的三个可执行文件
在这里插入图片描述
下面是我们配置的JDK环境变量的可执行文件,对比默认的多了很多,比如我们常用的JVM调优时用到的jcmd
在这里插入图片描述

2启动Jmeter

启用Jmeter,很简单,window点击jmeter.bat,linux就是执行jmeter.sh
在这里插入图片描述
启动以后,命令窗口会自动启动,命令窗口不用管,缩小就行。命令窗口关闭,Jmeter就关闭了。
在这里插入图片描述

3常见接口测试

3.1http接口测试要素

本不想介绍这个,不过考虑到,有人可能不是开发,因此还是介绍一下。如果你是相关开发人员,我觉得可以直接划过。
作为一名程序员,我们在测试或者开发http接口的时候,其核心主要关心如下几个点

  1. 请求方法
  2. 请求方法
  3. 请求头信息
  4. 请求参数
  5. 响应参数

如果你是开发人员,那么其实开发就是在组装上面的这些参数,如果你是测试人员,就是在组装这些参数来看返回结果是不是你期望的。

这里我将介绍集中非常常见的接口测试来举例子。

3.2 浏览器请求

以谷歌浏览器为例,我们按F12进入开发者模式,然后随便输入什么访问,都会产生http请求,接着在http请求里面可以找到上诉我们说的那些元素,例如请求地址,请求方法,请求头等等。
在这里插入图片描述
下面是我用谷歌浏览器的F12找的一个请求的接口
请求地址是:http://127.0.0.1:24104/dataSource/info/page
在这里插入图片描述

3.3 PostMan请求

下面是我用PostMan请求的:http://127.0.0.1:24104/dataSource/info/page
在这里插入图片描述

3.4 Swagger请求

下面是我用Swagger请求的:http://127.0.0.1:24104/dataSource/info/page
在这里插入图片描述
综上所属,所有的这种http接口测试工具,我们就是在找上面我们所说的元素,然后进行组装,用Jmeter其实也是这样,因此,如果你有了解上面的相类似的工具,或者开发工作,用Jmeter是一样,只不过是Jmeter提供了一些特性,其本质的接口还是一样的。

4使用Jmeter测试接口

在常见接口测试我们说了,测试的几个要素,如下所示,接下来我们学习使用Jmeter测试性能,其实就是在Jmeter里面去填充下面的信息。

  1. 请求方法
  2. 请求方法
  3. 请求头信息
  4. 请求参数
  5. 响应参数

4.1启动Jmeter

英语不好的,可以设置为汉语,不过这个操作是一次性的,重启以后还是因为,永久的话,就去修改配置文件(这里不在复述)
在这里插入图片描述

4.2创建一个测试计划

没啥特殊意义,就是一个测试计划而已,填写计划名称以后,CTRL + S保存即可
在这里插入图片描述

4.3添加线程

有开发基础的人很容易理解这里,为什么要添加线程。这里主要针对没有基础的人来解释这个添加线程的人。假设你使用PostMan去测试接口,只有你一个人去测试,因此你是单线程因为只有你一个人去做。如果这个时候要求,5个人同时操作,这时候你一个人是操作不过来的。因为你不会分身术,这里创建的5个线程,就是分身术,把一个人变成5个人,然后5个人在去同时操作。
在这里插入图片描述
1.线程数(Number of Threads):表示模拟的并发用户数,即同时发送请求的线程数。可以根据需要设置不同的并发用户数,以模拟不同的负载情况。

2.Ramp-Up Period(in seconds):表示线程组启动所有线程所需的时间。例如,如果线程数为100,Ramp-Up Period为10秒,则每秒启动10个线程,直到达到100个线程为止。这样可以模拟逐渐增加的用户并发数。

3.循环次数(Loop Count):表示每个线程执行的循环次数。可以设置为具体的数字,也可以设置为Forever,表示一直循环执行,直到测试计划停止。

下面的5-2-2表示:则最终会产生10个请求。编辑完以后,记得CTRL + S保存
在这里插入图片描述

4.4添加Http请求

接下来就会来到我们熟悉的http元素了。打开http请求以后
在这里插入图片描述
仔细看下面我圈出来的部分,是不是和上面我们介绍的浏览器,PostMan,Swagger一样?
Request URL: http://127.0.0.1:24104/dataSource/info/page
Request Method: POST
content-type(请求头): application/json
Request Body :
{
“asc”: true,
“conditions”: [
{
“column”: “”,
“type”: “”,
“value”: { }
}
],
“orderBy”: “”,
“pageNum”: 0,
“pageSize”: 0
}
因此,根据上述给出的信息,我们将下述的协议、IP、端口、方法、地址、请求参数分别填入
在这里插入图片描述

4.5设置http请求头

再上面,我们可以发现,并没有相关的头信息设置,比如请求头设置为请求的参数为Json。
如下所示,我们添加Http请求头信息。
在这里插入图片描述
设置请求参数为Json
在这里插入图片描述

4.6收集测试结果

在这里插入图片描述
在这里插入图片描述

4.7执行测试,查看响应参数

点击启动即可。
在这里插入图片描述
如下表示正在执行。
在这里插入图片描述
执行完毕以后,点击查看结果树
在这里插入图片描述
随便点一个请求,即可以看到请求的响应参数。
在这里插入图片描述

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

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

相关文章

力扣19 删除链表的倒数第N个节点 Java版本

文章目录 题目描述代码 题目描述 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 示例 2: 输入:head [1], n 1 …

erlang学习:Linux命令学习4

顺序控制语句学习 if,else对文件操作 判断一个文件夹是否存在,如果存在则进行删除,如果不存在则创建该文件夹,并复制一份该脚本后,删除该脚本 if [ -d "/erlangtest/testdir"]; then echo "删除文件夹…

数字化转型:国内证书哪个更有用

探讨数字化转型,有哪些国内证书推荐?让我们一起来了解一下。 软考-系统集成项目管理工程师(中项)/信息系统项目管理师(高项):由人社部和工信部联合颁发,紧密贴合国内IT领域的项目管理实际需求。 这两个软考科目没有考试门槛限制…

AI 文生图快速入门教程:让 Stable Diffusion 更易于上手

Stable Diffusion 是一个强大的 AI 图像生成工具,但它可能会消耗大量资源。在本指南中,我们将学习如何使用 AUTOMATIC1111 的 Stable Diffusion WebUI 来设置它。同时,我们将在 DigitalOcean GPU Droplet 云服务器上运行它,通过 H…

python爬虫:从12306网站获取火车站信息

代码逻辑 初始化 (init 方法): 设置请求头信息。设置车站版本号。 同步车站信息 (synchronization 方法): 发送GET请求获取车站信息。返回服务器响应的文本。 提取信息 (extract 方法): 从服务器响应中提取车站信息字符串。去掉字符串末尾的…

钰泰-ETA6027限流开关IC

描述 ETA6027 是一种负载开关,可为可能遇到大电流条件的系统和负载提供全面保护。ETA6027 提供 70mΩ 限流开关,可在 2.1-6V 的输入电压范围内工作。电流限制可通过精密电阻器进行外部编程,范围为 75mA 至 2.2A。开关控制由能够直接与低电压…

国庆节前超市现场运营重点工作

节日期间的营运现场工作,很容易由于工作量突然加大,造成很多细化工作不能很好地具体落实,完善现场工作的诸多细节,对于提升业绩会有很好的效果。其中前台需要以冲业绩的方式来完成,后台需要运用精细化的方式来对待。一…

安卓 shape 的使用

在Android开发中&#xff0c;<shape>元素是一个XML资源&#xff0c;用于定义形状&#xff0c;如矩形、圆形、椭圆形、线条等。这些形状可以用于多种场景&#xff0c;比如作为按钮的背景、视图边框或者列表项的分隔线等。<shape>元素位于drawable资源文件夹&#xf…

移动化社交:Facebook的移动战略解析

在移动互联网时代&#xff0c;社交媒体的使用方式和用户习惯发生了显著变化。作为全球最大的社交网络平台之一&#xff0c;Facebook在移动化战略上进行了深远的布局&#xff0c;以适应这一趋势并保持其在市场中的竞争力。本文将探讨Facebook的移动战略及其背后的影响。 移动优先…

云课五分钟-Arduino wokwi和步进电机实验报告快速撰写

wokwi 程序 #include <AccelStepper.h> // Define a stepper and the pins it will use AccelStepper stepper; // Defaults to AccelStepper::FULL4WIRE (4 pins) on 2, 3, 4, 5 // This defines the analog input pin for reading the control voltage // Tested wit…

HarmonyOS鸿蒙开发实战(5.0)自定义安全键盘场景实践

鸿蒙HarmonyOS开发实战往期必看文章&#xff1a;&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发性能实践总结&#xff08;持续更新......&#xff09; HarmonyOS NEXT应用开发案例实践总结合集&#xff08;持续更新......&#xff09; 一分钟了解”纯血版&…

编译原理3——词法分析

3.1词法分析器的作用 词法分析是编译的第一阶段。词法分析器的主要任务是读入源程序的输入字符、将它们组成词素&#xff0c;生成并输出一个词法单元序列&#xff0c;每个词法单元对应于一个词素。 但在这个过程中&#xff0c;词法分析器还要和语法分析器进行交互。交互&…

计算机出现msvcp140.dll丢失的6种解决方法,亲测有效

在计算机使用过程中&#xff0c;我们经常会遇到一些错误提示&#xff0c;其中之一就是“msvcp140.dll丢失”。这个错误通常会导致某些应用程序无法正常运行&#xff0c;给用户带来困扰。本文将总结6种解决msvcp140.dll丢失的方法&#xff0c;帮助大家轻松解决这个问题。 一&…

1、软件测试的基础概念(1)

文章目录 一、软件测试1、软件测试&#xff08;Software Testing&#xff09;2、缺陷&#xff08;Defeat&#xff09;3、测试用例&#xff08;Test Case&#xff09;4、测试金字塔5、测试策略6、测试左移和测试右移7、质量度量 二、软件的测试分类1、单元测试2、集成测试3、系统…

2024中国新科技100强名单出炉!MIAOYUN荣获“2024云原生领航企业奖”

当前&#xff0c;新一轮科技革命和产业变革加速演进&#xff0c;只有加强颠覆性科技创新&#xff0c;才能占领科技创新的制高点&#xff0c;为发展新质生产力注入强大动能&#xff0c;不断塑造高质量发展竞争优势。近日&#xff0c;2024中国新科技100强金i奖评选名单出炉&#…

Thingsboard规则链:fetch device credentials节点详解

引言 源码剖析 应用场景与案例 结语 ThingsBoard从入门到实战课程&#xff0c;深入透析底层原理&#xff0c;快速搭建自己的IOT平台_哔哩哔哩_bilibiliThingsBoard从入门到实战课程&#xff0c;深入透析底层原理&#xff0c;快速搭建自己的IOT平台共计12条视频&#xff0c;包…

π122M31 双通道数字隔离器,工业控制领域的得力助手

π122M31 双通道数字隔离器 CAN通信隔离兼容ADuM7241ARZ电路简单、稳定性更高&#xff0c;具有出色的性能特征和可靠性&#xff0c;整体性能优于光耦和基于其他原理的数字隔离器产品。 产品传输通道间彼此独立&#xff0c;可实现多种传输方向的配置&#xff0c;可实现 5.0kVrms…

Bugku 渗透测试1

描  述: 甲公司邀请你对他们公司进行网络安全测试&#xff0c;但是甲公司只给了一个官网链接你能打到他们内网吗&#xff1f; 打开靶场地址 1、场景1 查看网站源码&#xff0c;查看最下面&#xff0c;得到flag。 2、场景2 根据场景1提示&#xff0c;下个flag网站管理员才能…

SelMatch:最新数据集蒸馏,仅用5%训练数据也是可以的 | ICML‘24

数据集蒸馏旨在从大型数据集中合成每类&#xff08;IPC&#xff09;少量图像&#xff0c;以在最小性能损失的情况下近似完整数据集训练。尽管在非常小的IPC范围内有效&#xff0c;但随着IPC增加&#xff0c;许多蒸馏方法变得不太有效甚至性能不如随机样本选择。论文对各种IPC范…

windows下tp5创建定时任务

1、创建定时任务&#xff08;自定义命令行可参考官网自定义命令行 ThinkPHP5.0完全开发手册 看云&#xff09; 2、cmd进入项目根目录测试php think 3、新建一个task.bat 文件来运行 d://项目盘符 cd D:\wwwroot\www.xxx.com//项目根目录 php think test //项目接口 4、 Win…