最近公司在抓系统性能,尽可能多地寻找系统可优化余地。问了下同事,竟然没使用过压测。在上家公司的时候看其他组同事使用Jmeter还挺好用,那就用它吧。
1、搭建环境
window7(64) JDK + JMeter,这个没什么难度,按照网上教程往下做就行了,安装后设置下环境变量
2、创建测试计划,设置参数,创建结果树
本次测试计划使用http请求,消息头我禁用了,原本参数传递有问题,后来发现消息头加上去也没用。期间主要问题是json请求数据的传递,将参数放置paramer中或者body中均无法将参数正确传入后台;直接将参数写入请求路径中,则请求根本无法发起。
请同事过来看,可能是参数需要urlencode转义,于是使用简单的方法,将包含Json请求的接口路径复制到浏览器地址栏,将转义后的路径复制下来粘贴到jmeter路径中,参数传递成功。
后网上查找json请求参数的设置方法,确实需要转义才可以。这里贴个链接
3、设置响应编码
请求参数设置成功后,成功收到响应,汉字乱码。
step1:指定请求节点下,新建后置控制器”BeanShell PostProcessor”
step2:其脚本框中输入:prev.setDataEncoding(“UTF-8”);
step3:保存
响应正常
4、创建聚合报告
在测试计划中设置并发、串行数,启动测试计划。聚合报告中可以看到响应耗时。
5、POST接口
看链接中貌似post请求不需要转义,所以找了个post接口来测试一下。将请求参设置在body中,添加http请求头管理器,设置为Content-Type:Application/json,参数传入成功,并成功获取响应。不过此时json请求中存在汉字乱码问题。先前设置的响应报文字符集在这里不起作用,故直接更改了jmeter的全局配置文件,修改了请求、响应的默认编码格式,成功。
简单使用完结。