使用jmeter进行压力测试入门讲解
1.下载安装jmeter
略
我这里放上5.1版本的,有需要可以下载
链接:https://pan.baidu.com/s/1xRZZmTY4do1oDU_xPit94Q&shfl=sharepset
提取码:r1ba
2.在bin目录下,使用管理员方式运行jmeter.bat
随之会打开jmeter的GUI界面,注意不要关闭运行的jmeter.bat窗口,不然GUI界面会随之关闭
此时,注意看这个提示
大概意思就是,不要使用GUI页面进行压力测试,它只是进行测试的创建和查看,如果进行压力测试,请使用CLI Mode 也就是CMD命令窗口,使用命令的方式运行线程组;
这样做的好处是可以节省性能,同样也不是不能使用GUI界面进行压力测试,只是不推荐使用;
在GUI界面的options选项中点击choose language 可以调整为中文格式
3.创建一个线程组
1).右键点击测试计划创建线程组
2)填上相关参数
参数说明:
Name:创建的线程组的名称,使用命令的方式进行测试的时候会用到;
Action to be taken after a sampler error:这里面让你选择假如遇见错误了,进行什么操作,选择继续continue;
Number of Threads:简单理解,就是发起多少个请求,我这里设置为100,一般压测在300-500,当然,看各个接口的访问量,我这里只用于测试;
Ramp-up Period:在多长时间内发出请求,这里定的是1秒;
Loop Count:循环次数,你的请求循环多少次;
3)创建HTTP Request
这里设置的是你请求接口的地址以及请求体的参数和编码格式
这里分为两个请求方式一种是web Server请求服务器 一种是HTTP Request
根据需要选择其中之一
web方式请求,根据要求填上请求协议,服务器的ip地址或者名称,以及端口号;
HTTP请求,选择发送请求的格式,请求的路径,如果请求体中有中文参数,请在Content encoding中填入utf-8 代表请求体参数的编码方式;
最下面的就是请求体的设置,可以用K-V的方式添加也就是Parameters,也可以使用Body Data设置,最后一个是Files Upload 文件上传
我这里用的是JSON格式传递参数,使用的Body Data
4)进行请求头的添加
如果接口中需要Cookie或Cache,也可以进行设置,本案例只有请求头的设置,其他的就不在赘述,
可以在这里点击add一行一行的添加请求头的参数,也可以直接粘贴,现在其他地方复制,然后点击add from clipboard即可
5)添加响应断言
接下来设置参数
参数解析:
Field to Test:测试字段
Document(text):匹配文档内容
URL Sampled:匹配URL链接
Test Response:匹配响应的文本信息
Response Code:匹配HTTP状态码
Response Message:匹配响应信息,如处理成功返回“成功”、“OK”字样
Response Headers:匹配响应头信息
……
本次选择Response Code
Pattern Matching Rules: 和你选择的测试字段以及将要进行设置的Patterns to Test进行对比,他们的关系是什么,本次选择的是equals相等
Patterns to Test:要测试的模式,填写的200,代表期望返回的响应HTTP状态码等于200,
如果在测试字段中选择Test Response,,这里面填写”成功” ,代表期望返回的字符串和”成功”相等;
custom failure message:自定义的失败后返回的消息
6)添加查看结果树
在这里,添加成功之后,可以直接点击这个按钮运行我们编写的线程,就可以看到我们发出的请求了
7)使用命令的方式进行压力测试
使用下面的命令来启动你编写的测试计划
jmeter -n -t <测试计划的文件路径> -l <测试结果文件的保存路径> -e -o <测试结果的web报告保存路径>
参数说明:
- -n 以非GUI形式运行Jmeter
- -t xx.jmx 脚本路径
- -l 运行结果保存路径(.jtl)
- -e 在脚本运行结束后生成html报告
- -o 保存html报告的地址
- -g 指定已存在的测试结果文件
在执行的时候,检查输出的文件夹是否存在,如果存在会报异常,如果jmx文件在bin目录下,可以直接执行下面的指令
jmeter -n -t xxx.jmx -l xxx.jtl -e -o ./output 既可
文件路径就是你点击保存的时候存放的路径
注意:不是在jmeter.bat窗口中输入这条命令,而是在CMD窗口中输入
在jmeter的bin目录下打开cmd窗口,输入上述命令;
8)查看报告,去你输入的web报告存放路径,有个index.html文件,打开即是本次测试的报告