压测工具之JMeter使用

文章目录

前言

最近公司项目需要进行压测,查验S A A S 系 统中的多 租 户数据是否串库等问题!

压测工具

JMeter这款工具相信接触过测试的小伙伴都有所耳闻,即使是开发,应该也会或多或少的有所了解。

这就是今天的主角,我们是使用这款工具来完成我们对系统的压测。

如何使用

接下来我们看一下如何使用这款压测工具

启动JMeter工具

打开JMeter的包目录,进入到bin目录中,双击jmeter.bat文件即可打开。

双击后,会出现两个界面,一个是cmd的启动界面,如下:

上面窗口内容我们翻译一下:

不要使用GUI模式进行负载测试!,仅用于测试创建和测试调试。

对于负载测试,请使用CLI模式(以前是NON GUI):

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]

并且修改JMeter批处理文件的环境变量:HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"

另一个启动后的操作页面如下:

开始创建测试环境

1、创建线程组

在"Test Plan"上右键 【add】-->【Threads(Users)】-->【Thread Group】

设置线程数以及循环的次数。这里设置线程数为300,循环4次。

2、配置元件

在我们刚刚创建的Thread Group上单击右键 【Add】-->【Config Element】-->【HTTP Request Default】来配置我们需要进行测试的程序协议、地址以及端口,假如所有的接口测试访问的域名和端口都一样的话,可以使用该元件进行配置,如果服务器地址进行了变更,只需要修改请求默认值就可以了,具体UI界面如下图所示:

3、构造HTTP请求

在"Thread"右键 【Add】->【Samlper】-->【HTTP Request】需要测试的API的请求路径和数据。具体操作UI界面如下图所示

4、添加HTTP请求头信息

在创建的Thread Group上右键 【Add】-->【Config Element】-->【HTTP Header Manage】可以在这里配置token以及Content-Type

5、添加断言

在创建的Thread Group上右键 【Add】-->【Assertion】-->【Response Assertion】

根据响应的数据来进行判断请求是否成功。我在这里只判断的响应代码是否为200。还可以配置提示信息

具体UI如下图所示:

6、添加查看结果树

在创建的Thread Group上右键 【Add】-->【Listener】-->【View the Result Tree】

然后点击运行按钮就可以看到我们的结果树了

7、添加聚合报告信息

在创建的Thread上右键 【Add】-->【Linster】-->【Aggregate Report】

然后点击运行按钮就可以看到聚合报告的结果了

8、测试计划创建完成了

上述步骤完成了,我们保存测试计划即可

保存测试计划失败解决方案

很多小伙伴在上面的第8箱保存的时候,点击保存后无反应,具体解决方案如下:

点击Options->Look and Feel 后会出现下面的菜单,我这里啊选择了Nimbus,因为红框内的选线会有bug,导致无法保存问题的出现。

执行测试计划

执行测试计划的时候最好用GUI界面,需要到命令行来执行测试计划

执行的命令为:

复制代码
jmeter -n -t filename.jmx -l webreport/testResult.txt -e -o webreport/webs

filename.jmx 为测试计划文件路径

webreport/testResult.txt 为测试结果文件路径

webreport/webs 为web报告保存路径(文件夹记得要为空)

好了,关于JMeter的使用就到这里。

欢迎大家点击下方卡片,关注《coder练习生》

相关推荐
暖暖木头19 小时前
Jmeter变量传递介绍
jmeter
小沈同学呀20 小时前
Apache JMeter API 接口压测技术指南
jmeter·apache
nanzhuhe21 小时前
‌JMeter聚合报告中的任务数和并发数区别
jmeter
小冯的编程学习之路1 天前
【软件测试】:推荐一些接口与自动化测试学习练习网站(API测试与自动化学习全攻略)
c++·selenium·测试工具·jmeter·自动化·测试用例·postman
卑微的Coder2 天前
JMeter同步定时器 模拟多用户并发访问场景
java·jmeter·压力测试
乐言3612 天前
如何解决Jmeter中的乱码问题?
jmeter
乐言3612 天前
如何用Jmeter实现自动化测试?
运维·jmeter·自动化
乐言3614 天前
Jmeter中的BeanShell如何使用?
python·jmeter·压力测试
kerryYG4 天前
使用JMETER中的JSON提取器实现接口关联
jmeter·json
乐言3616 天前
Jmeter中的Json提取器如何使用?
jmeter·json