2.3 Jmeter应用进阶二--实际应用 后置处理器JSR223 PreProcessor获取json数据参数

Jmeter应用时会遇到一些请求的参数来源于上一个请求,这里就需要从上一个请求读取数据并储存成参数,赋值到下一个请求中

这种做法叫做:动态数据关联

下面是使用 后置处理器JSR223 PreProcessor从请求响应中读取数据存储参数。

请求的响应代码:

{

    "msg""操作成功",

    "currentTime"1576649179627,

    "data": {

        "modulus""AKhmGSLPMcQbZCh9E78+dyK5TFAUK+E2v4HZSf6JDUfqZG1Y+AQvHG7Jd7MKdbJdVCuEf1iusFGQ7Mq8IvOrJ3/F3ubRU8u0uLOetSgkH+kadzgmW+lqFeJLRx4xRFzozwIJMtK6Qjmq9sWsxGciDk0+MZHYlzXIpf4CoNSKibg/",

        "exponent""AQAB"

    },

    "status"200

}

JSR223 PostProcessor获取响应数据modulus/ exponent

  1. 勾选groovy
  2. 勾选Cache compiled script if available

提取的变量引用时,使用${ modulus} ${ exponent}

2.3 Jmeter应用进阶二--实际应用 后置处理器JSR223 PreProcessor获取json数据参数_第1张图片

import groovy.json.JsonSlurper;

 

def jsonSlurper = new JsonSlurper();

def response = jsonSlurper.parseText(prev.getResponseDataAsString());

 

def modulus=response.data.modulus.toString();

def exponent=response.data.exponent.toString();

 

log.info("------------JSR223 PreProcessor 公钥logtest-------------");

log.info(modulus);

log.info(exponent);

log.info("------------JSR223 PreProcessor 公钥logtest-------------");

 

vars.put("modulus",modulus);     //输出变量modulus

vars.put("exponent",exponent);     //输出变量modulus

 

 

你可能感兴趣的:(Jmeter)