如何从Jmeter响应中提取所需数据并将其作为请求传递

时间:2014-09-18 11:09:32

标签: 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,
      "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 PostProcessor作为

打印值时
log.info("is_final="+vars.get("${is_final}"));

仅传递null个值。我没有得到这个。帮助我。提前谢谢。

2 个答案:

答案 0 :(得分:1)

你的Beanshell声明有点不稳定。您需要使用vars.get("variableName")或直接${variableName},所以如果您将行更改为:

log.info("is_final="+vars.get("is_final"));

log.info("is_final=${is_final}");

给定is_final变量存在且不为null,您将在jmeter.log文件中看到它的值。

有关Beanshell脚本编制的更多信息,请参阅How to use BeanShell: JMeter's favorite built-in component指南。

答案 1 :(得分:0)

以下

需要正则表达式
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"

请注意

\s - means single space
\s{7} - means seven single spaces
.+ - means any string matches
(.+) - means to extract the id values
相关问题