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
- 勾选groovy
- 勾选Cache compiled script if available
提取的变量引用时,使用${modulus} ${exponent}
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 |