Jmeter在我的情况下尝试获取部分响应时传递默认值是一个唯一的名称,我希望在下一个请求中传递但是它采用默认值:
{"status":"success","body":{"uniqueName":"jpr1444130495897","voucherType":"sales","transactions":[{"creditAccount":{"uniqueName":"acctomerge","name":"Mayank"},"debitAccount":{"uniqueName":"dacc","name":"dummyaccount"},"amount":2228}],"voucherNo":1912,"date":"01-09-2015","tag":"dummydata","description":"Q3goK8QrUo"}}
在上面的回复中,我必须捕获uniquename
&在我的下一个请求中传递它。但默认情况下它采用默认值。
Bean shell断言包含:
${__setProperty(uniqueName,${uniqueName})}
下一个请求就是这个。
仍然提取默认值。有人请帮忙。
答案 0 :(得分:0)
正如Biffen所说,最好使用jmeter插件(http://jmeter-plugins.org/wiki/JSONPathExtractor/)附带的JSON Path Extractor。它对JSON来说要容易得多 - 只需把JSON路径(可能在你的情况下就是uniqueName就够了,但你可以把$ .body.uniqueName放在那里)也可以添加一个变量名作为uniqueName,这样就没有了以后在下一个请求中将其用作$ {uniqueName}的问题。就是这样。
哦,你的帖子建议你尝试使用Beanshell断言而不是正则表达式提取器来提取它 - 这也可能是一种情况。
答案 1 :(得分:0)
您需要提取的确切uniqueName
是什么?您的JSON数据中有3个:
将变量转换为属性以在下一个请求中使用是不必要的。如果两个请求都存在于同一个线程组中 - 它足以使用引用名称,如${uniqueName}
对于JSON数据,使用JSON Path Extractor(通过JMeter Plugins项目提供)更方便。有关插件安装和使用说明,请参阅Using the XPath Extractor in JMeter指南(向下滚动到"解析JSON")。