Jmeter web 多线程 登录后接口压力测试

时间:2021-09-28 02:31:30

文章整理上传于2017年9月14日(某X发布了),使用的软件环境为:win7 ,jmeter3.2测试javaweb

1启动jmeter

  bin目录下jmeter.bat点击启动

2新建线程组

  在“测试计划”上右键->添加->Threads(Users)->”线程组” ,名称为”线程组-web测试”

Jmeter web 多线程 登录后接口压力测试

3添加http请求默认值

    在”线程组-web测试”右键->添加->配置元件->http请求默认值,内容如下:

    将协议,主机,端口,编码等默认信息填写,方便之后的接口参数设置

    Jmeter web 多线程 登录后接口压力测试

4添加http信息头管理器

    在”线程组-web测试”右键->添加->配置元件->http信息头管理器 ,默认即可

5添加http cookie管理器

    在”线程组-web测试”右键->添加->配置元件-> httpcookie管理器 ,默认即可

6添加http请求,填写要测试的接口信息

    在”线程组-web测试”右键->添加->sampler->http请求:

    只需要填写方法:get/post,路径: /项目名/接口地址/…,Parameters:请求参数

     Jmeter web 多线程 登录后接口压力测试

7添加结果监听器

    在”线程组-web测试”右键->添加->监听器->查看结果树

8添加登录后的JSESSIONID

    因为要测试登录后的接口,所以需要为jmater配置一个登陆过已经验证过的cookie,这样压力测试的时候就不会需要去登陆了

    浏览器打开进入到web的登录页,输入用户名密码,

    然后F12->Network ,选中Preserve log,防止页面跳转导致登录接口找不到 ,

    最后点击web登录按钮登录系统,查看Network,找到登录接口Request Headers->cookie,鼠标复制cookie参数

    点击刚才的”http信息头管理器”,填写cookie信息:

    如下图,

     Jmeter web 多线程 登录后接口压力测试

    Jmeter web 多线程 登录后接口压力测试

9.测试

    在”线程组-web测试”右键->start

    数秒后,在”查看结果树”找到http请求,发现响应数据确实为接口查询的数据,并没有重定向去登陆接口.

10结尾

    此教程是针对线程数>1的倾向下免登陆的,

    如果仅仅是一个线程循环多次,可以添加一个”仅一次控制器”,

    在一次控制器中添加http请求登录接口,然后禁用http信息头管理器即可,这样测试就只会登录一次,执行多次其他接口测试

11压力测试结果分析和优化

    我也不清楚怎么搞,正在研究,有姿势的留链接多谢