15-jmeter-压测带token的接口

前言

工作中我们需要压测的接口大部分都是需要先登陆后,带着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次,每次都从测试文件里面循环取值

 

posted @ 2022-11-09 09:42  漫步者1号  阅读(278)  评论(0编辑  收藏  举报