【发布时间】:2017-06-28 08:43:34
【问题描述】:
我正在尝试在另一个请求的正文数据中使用提取的值。我使用 JSON 路径提取器提取了值,如下所示
我在Body数据中是这样使用的
{
"TransactionId": ${transactionId},
"Cancelled": false
}
但这在 JMeter 中不起作用,它将 transactionId 显示为 ["223"]。 我希望它只有 223
【问题讨论】:
标签: jmeter
我正在尝试在另一个请求的正文数据中使用提取的值。我使用 JSON 路径提取器提取了值,如下所示
我在Body数据中是这样使用的
{
"TransactionId": ${transactionId},
"Cancelled": false
}
但这在 JMeter 中不起作用,它将 transactionId 显示为 ["223"]。 我希望它只有 223
【问题讨论】:
标签: jmeter
【讨论】:
T & I。请检查哪个最适合表达式。这可能是问题
Debug Sampler 并尝试验证transactionId 变量中捕获的值是什么。您可以使用 jp@gc - JSON Path Extractor 插件或 JSON Extractor 内置
用这个替换你的$..transactionId JSON 路径表达式:
$..transactionId[0]
它应该删除这些JSON Array 括号,您将看到223 仅作为${transactionId} 变量值
有关使用 JSON 响应类型的更多提示,请参阅 Advanced Usage of the JSON Path Extractor in JMeter 文章。
【讨论】:
我们可以通过不同的方式做到这一点,但我更喜欢使用“Jmeter”功能(最好避免使用插件)。 对于源 git link
1. Using "Regular Expression Extractor" post processor.
2. Using "JSON Path PostProcessor" post processor.
“正则表达式提取器”:正则表达式提取器不是最好的功能。
Regular Expression: "transactionId":"(.+?)"
Template: $1$
Match Number: 1
2.“JSON Path PostProcessor”:这个后置处理器我没用过,也不错。下面是表达式
JSON path Expression : $.transactionId
Match Numbers: 1
请在“查看结果树”中找到调试器采样器中的结果
【讨论】: