性能测试1初步使用Jmeter

当你看到这边文章的时候,详细你已经知道啥是性能测试,以及也听说过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接口的时候,其核心主要关心如下几个点。尤其开发人员,对Http + Get/Post +Json这种开发方式尤为熟悉了。

  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执行测试,查看响应参数

点击启动即可。

如下表示正在执行。

执行完毕以后,点击查看结果树

随便点一个请求,即可以看到请求的响应参数。

相关推荐
CesareCheung1 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流1 天前
jmeter使用技巧
jmeter
春时似衿里1 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书1 天前
JMeter的安装部署
jmeter
程序员杰哥1 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
乐神嘎嘎嘎2 天前
Jmeter测试
jmeter
卓码软件测评2 天前
第三方软件测试机构【性能测试工具用LoadRunner还是JMeter?】
java·功能测试·测试工具·jmeter·性能优化
BatyTao2 天前
Jmeter执行数据库操作
数据库·jmeter
二宝哥2 天前
性能测试工具Jmeter之java.net.BindException: Address already in use
jmeter