如何从Jmeter响应中提取所需数据并将其作为请求传递
我是JMeter的新手。我的答复如下如何从Jmeter响应中提取所需数据并将其作为请求传递,jmeter,Jmeter,我是JMeter的新手。我的答复如下 { "id": "35", "rsd": null, "col": "green", "cc": "B5305F", "pn": "KENWAY TYRES RENEWAL 2014", "loc": "ABD - MR \/ RS \/ RS", "isf": "1", "isl": "0", "tq": "1", "pi": null,
{
"id": "35",
"rsd": null,
"col": "green",
"cc": "B5305F",
"pn": "KENWAY TYRES RENEWAL 2014",
"loc": "ABD - MR \/ RS \/ RS",
"isf": "1",
"isl": "0",
"tq": "1",
"pi": null,
"st": "1",
"dsid": "15",
"cid": "2120",
"spl": null,
"wid": "WI\/uo46shpr",
"inv": null,
"pdid": "1620",
"di": "0",
"pl": "0"
},
这里我需要检查一下
isf=1
isl=0
st=1
如果是这样,那么我必须获取相应的id
,并将其作为请求传递
我已经使用正则表达式提取器提取了isf、isl和st值。当我尝试使用Beanshell后处理器打印值时
log.info("is_final="+vars.get("${is_final}"));
仅传递null
值。我不明白。帮我做这件事。提前谢谢。你的Beanshell声明有点古怪。您需要使用vars.get(“variableName”)
或直接使用${variableName}
,因此如果您将行更改为:
log.info("is_final="+vars.get("is_final"));
或
给定is_final
变量存在且不为null,您将在jmeter.log文件中看到它的值
有关Beanshell脚本的更多信息,请参阅指南 需要以下正则表达式
if isf=1 and isl=0 and st=1 are true
extract the id values
必须创建以下正则表达式格式才能提取ID值
"id":\s"(.+)",\s{7}.+\s{7}.+\s{7}.+\s{7}.+\s{7}.+\s{7}"isf":\s"1".+\s{7}"isl":\s"0".+\s{7}.+\s{7}.+\s{7}"st":\s"1"
注
谢谢你提供的信息。我得到的答复如下:{“id”:“140”,“rsd”:“null”,“col”:“绿色”,“cc”:“B5307F”,“pn”:“肯威轮胎更新2014”,“loc”:“ABD-LR\/L3\/L3”,“isf”:“1”,“isl”:“0”,“tq”:“15”,“pi”:null,“st”:“1”,“dsid”:“15”,“cid”:“2120”,“spl”:“null”,“WI\/3ivdfzhg”,“inv”:null,“pdid”:“1103”,“di”:“0”,“pl”:“0”}我需要提取iid的值,其中isf=1,st=1。什么是正则表达式,我必须在正则表达式提取器中使用?请你看看我的新问题,并提供你的建议。这是链接,请提前感谢。
"id":\s"(.+)",\s{7}.+\s{7}.+\s{7}.+\s{7}.+\s{7}.+\s{7}"isf":\s"1".+\s{7}"isl":\s"0".+\s{7}.+\s{7}.+\s{7}"st":\s"1"
\s - means single space
\s{7} - means seven single spaces
.+ - means any string matches
(.+) - means to extract the id values