文章整理上传于2017年9月14日(某X发布了),使用的软件环境为:win7 ,jmeter3.2测试javaweb
1启动jmeter
bin目录下jmeter.bat点击启动
2新建线程组
在“测试计划”上右键->添加->Threads(Users)->”线程组” ,名称为”线程组-web测试”
3添加http请求默认值
在”线程组-web测试”右键->添加->配置元件->http请求默认值,内容如下:
将协议,主机,端口,编码等默认信息填写,方便之后的接口参数设置
4添加http信息头管理器
在”线程组-web测试”右键->添加->配置元件->http信息头管理器 ,默认即可
5添加http cookie管理器
在”线程组-web测试”右键->添加->配置元件-> httpcookie管理器 ,默认即可
6添加http请求,填写要测试的接口信息
在”线程组-web测试”右键->添加->sampler->http请求:
只需要填写方法:get/post,路径: /项目名/接口地址/…,Parameters:请求参数
7添加结果监听器
在”线程组-web测试”右键->添加->监听器->查看结果树
8添加登录后的JSESSIONID
因为要测试登录后的接口,所以需要为jmater配置一个登陆过已经验证过的cookie,这样压力测试的时候就不会需要去登陆了
浏览器打开进入到web的登录页,输入用户名密码,
然后F12->Network ,选中Preserve log,防止页面跳转导致登录接口找不到 ,
最后点击web登录按钮登录系统,查看Network,找到登录接口Request Headers->cookie,鼠标复制cookie参数
点击刚才的”http信息头管理器”,填写cookie信息:
如下图,
9.测试
在”线程组-web测试”右键->start
数秒后,在”查看结果树”找到http请求,发现响应数据确实为接口查询的数据,并没有重定向去登陆接口.
10结尾
此教程是针对线程数>1的倾向下免登陆的,
如果仅仅是一个线程循环多次,可以添加一个”仅一次控制器”,
在一次控制器中添加http请求登录接口,然后禁用http信息头管理器即可,这样测试就只会登录一次,执行多次其他接口测试
11压力测试结果分析和优化
我也不清楚怎么搞,正在研究,有姿势的留链接多谢