jmeter-如何在另一个请求的主体数据中使用从响应中提取的值
我试图在另一个请求的正文数据中使用提取的值。我使用JSON路径提取器提取了该值,如下所示 值是从下面的响应中提取的 我在身体数据中这样使用它jmeter-如何在另一个请求的主体数据中使用从响应中提取的值,jmeter,Jmeter,我试图在另一个请求的正文数据中使用提取的值。我使用JSON路径提取器提取了该值,如下所示 值是从下面的响应中提取的 我在身体数据中这样使用它 { "TransactionId": ${transactionId}, "Cancelled": false } 但这在JMeter中不起作用,它将事务ID显示为[“223”]。 我只希望是223 在wards上的JMeter 3.1版本中,使用JSON提取器(内置)尝试以下JSON路径表达式 给了我265值。不带双引号,不
{
"TransactionId": ${transactionId},
"Cancelled": false
}
但这在JMeter中不起作用,它将事务ID显示为[“223”]。
我只希望是223
在wards上的
JMeter 3.1
版本中,使用JSON提取器(内置)尝试以下JSON路径表达式
给了我265
值。不带双引号,不带数组符号
Json提取器屏幕截图:
查看结果树屏幕截图
将您的$…transactionId
JSON路径表达式替换为以下表达式:
$..transactionId[0]
它应该删除这些括号,您将只看到223
作为${transactionId}
变量值
有关使用JSON响应类型的更多提示,请参阅本文。我们可以用不同的方法来实现,但我更喜欢使用“Jmeter”功能(最好避免使用插件)用于源git
“正则表达式提取器”:正则表达式提取器不是最好的功能
正则表达式:“transactionId”:“(.+?)”
模板:$1$
匹配号码:1
2.“JSON路径后处理器”:我从未使用过这个后处理器,它也很好。下面是表达式
JSON路径表达式:$.transactionId
匹配号码:1
请在调试器采样器的“查看结果树”中查找结果
在这种情况下,正文数据中没有传递任何内容,在这两种情况下,正文数据显示为TransactionId:,不,它不会形成第一个api调用响应数据具有“TransactionId:“265”,可能会在下一个api调用“TransactionId”中显示代码:[“265”],您可以分享您最近试用的屏幕截图吗?使用大写字母
T&I
。请检查表达式中哪一个最适合。这可能是最新的答案。添加Debug Sampler
并尝试验证transactionId
变量中捕获的值。您可以使用jp@gc-JSON路径提取器
plugin或JSON提取器
builti我想将提取的元素写入文件。JSON的响应是:{“distance”:14.518,“distanceUnit”:“km”,“time”:11.5,“timeUnit”:“min”}在JSON提取器中,我将变量名指定为ResponseTime。在BeanShell后处理器中,我试图以time=vars.get(““响应时间”);但正在变为空。我做错了什么吗?请提出建议
$..transactionId[0]
1. Using "Regular Expression Extractor" post processor.
2. Using "JSON Path PostProcessor" post processor.