前言
工作中我们需要压测的接口大部分都是需要先登陆后,带着token的接口(或者带着cookies),我们可以先登陆获取token再关联到下个接口。
比如我现在要压测一个重置支付密码接口,每个用户只能修改自己的支付密码。
场景案例
我现在有一个登陆接口A,登陆成功后返回一个token值
- 访问地址:http://192.168.64.129:8080/app/mobile/api/user/login
- 请求类型:POST
- 请求头部:application/json
- 请求参数:{"mobile":"15980822261", "password":"123456"}
- 接口返回
{
{"code":0,"msg":"成功调用","data":{"id":152002,"username":"漫步者","sex":1,"age":20,"mobile":"15980822261","email":"","gqid":"4000006","money":0.0,"pmoney":100.0,"createtime":1667892744000,"lasttime":1667893908773,"token":"WitgPwMqM0iDOSrY7HbAj6hoMM4j0D4Z7YSd/8z1VmMQXuI6F0kz00FnExedrXh6xRU/jxaEwo/fQbjJJq9BrA==","identity":"8667e3d5ea4c30b6"}}
}
B接口需先登陆,重置支付密码,并且用户只能修改自己的支付密码
- 访问地址: http://192.168.64.129:8080/app/mobile/api/user/resetpaypwd
- 请求类型:POST
- 请求头部:Content-Type: application/json
- 请求参数:{"token":"WitgPwMqM0iDOSrY7HbAj6hoMM4j0D4Z7YSd/8z1VmMQXuI6F0kz00FnExedrXh6xRU/jxaEwo/fQbjJJq9BrA==","password":"123456"}
接口返回
{"code":0,"msg":"成功调用","data":{}}
如果先登陆再重置支付密码,这样实际上是发了2个请求,真实场景是用户早就登陆了,所以并不需要去压测登陆的场景。
我们只需要拿到token直接去压测B接口就行了。
测试token准备
B接口有两个参数是一一对应的,一个是token,一个是对应的password,比如压测的时候准备100个用户,我这里以10个用户为例
先注册批量的用户用于压测,我这里注册的用户是test1,test2......test10,一起10个用户
生成的token.txt文件内容如下
jmeter CSV数据文件设置
导入csv 测试数据文件,设置tok和pwd两个变量
请求参数引用tok和pwd
运行结果
接下来就可以设置线程组愉快的压测了
比如我设置2个线程,4次循环,这样会请求8次,每次都从测试文件里面循环取值
标签:请求,压测,用户,接口,token,登陆,jmeter From: https://www.cnblogs.com/manbuzhezhi/p/16872551.html