【发布时间】:2022-07-05 15:59:54
【问题描述】:
在 JMeter 测试计划中,我需要执行以下操作...
Generate TID 将一个或多或少的随机数放入vars.tid。
Calculate checksum 预处理器计算一个校验和,并放入vars.checksum。但是,此校验和取决于 tid 以及来自 Send request 中 JSON 有效负载的更多数据(var1 和 var2)。
JSON 正文示例
{
"event": {
"checksum": "${checksum}",
"tid": ${tid},
},
"data": {
"var1": "value1",
"var2": "value2
}
}
Calculate checksum
import groovy.json.JsonSlurper
def jsonSlurper = new JsonSlurper()
def requestBodyString = sampler.getArguments().getArgument(0).getValue();
def json = jsonSlurper.parseText(requestBodyString)
def tid = vars.get('tid')
def checkusm = calculateChecksum(tid, json.var1, json.var2)
vars.put('checksum', checksum)
现在,JsonSluper 似乎没有真正解析内容,因为 "tid": ${tid} 不是有效的 JSON。因此,checksum 在发送请求之前不会被替换。
您对如何解决这个问题有任何想法吗?
【问题讨论】:
标签: jmeter