JMeter是Apache组织开发的基于Java的压力测试工具,用于对软件做压力测试。
软件下载
下载地址:https://jmeter.apache.org/download_jmeter.cgi 最新版本5.6.2
用浏览器下载发现慢得很,用迅雷下载非常快哟。
测试使用
在使用前需要先安装jdk
下载完后将文件解压缩,找到bin目录下的jmeter.bat,双击即可打开
可以看到默认是英文界面的
通过菜单Options->Choose Language->Chinese(Simplified)可以将界面切换为简体中文
此时只是临时修改语言,如果关闭jmeter后,重新打开又默认是英文的了。如果想一劳永逸,找到配置jmeter.properties,打开找到行
#language=en
将此行复制出来后将#注释掉,修改为
language=zh_CN
这样下次再打开默认就为中文界面了
新建测试计划
菜单 文件->新建
在“测试计划”右键菜单“添加->线程(用户)->线程组
修改线程组的压力测试参数
1.在取样器错误后要执行的动作 默认为继续用于压测式,其它方式如"启动下一进程循环"、"停止线程"等可根据实际选择。
2.线程数默认为1,为1一般只为简易测试,无法体现压力测试,需要将其它改大,如100,200等
3.循环次数 选上永远就不会停下来了,没有次数限制,一直请求
线程组 右键菜单“添加->取样器->HTTP请求”
在这里提前准备一个本地springBoot服务来做测试
@RequestMapping("/data1")
@ResponseBody
protected JSONObject data1(@RequestParam("name") String name) throws ServletException, Exception {
JSONObject jsonResult=new JSONObject();
jsonResult.put("code","0000");
jsonResult.put("message","成功");
log.info(name);
return jsonResult;
}
@RequestMapping("/data2")
@ResponseBody
protected JSONObject data2(@RequestBody JSONObject jo) throws ServletException, Exception {
JSONObject jsonResult=new JSONObject();
jsonResult.put("code","0000");
jsonResult.put("message","成功");
log.info(jo.toJSONString());
return jsonResult;
}
选中新添加“HTTP请求",根据springBoot服务应用配置录入
基本-Web服务器
协议里输入http,请求地址 localhost,端口9001;POST方式,路径/jmater/test/data1,内容编码为UTF-8
选中“HTTP请求",右键菜单
添加->监听器->查看结果树
添加->监听器->图形结果
点击上方工具栏的绿色三角形按扭运行
查看结果树能看到成功返回了结果
springBoot也接收到了信息
下面接着来测试一下JSON格式
复制当前HTTP请求,粘贴修必为“HTTP请求JSON”,修改请求路径为/jmater/test/data2
JSON数据{"id":1,"name":"数据1"}
运行,发现无法收到正确的结果
应该请求头有问题 ,在“HTTP请求JSON”右键:添加->配置元件->HTTP信息头管理器
选中新添加“HTTP信息头管理器”,添加参数:Content-Type=application/json
运行,查看结果树可以看到返回了正确的结果
将线程组里线程数改为10,循环次数改为永远,重新运行,点击图形结果,可以看到一个简单易懂的压测情况
至此完成了jmeter的简单使用。
标签:jsonResult,HTTP,请求,jmeter,JSONObject,Apache,线程,测试工具,JMeter From: https://blog.51cto.com/u_12668715/8285785