下面是返回的示例json
[
"id":
[
{
"reports":
[
{
"metadata":
{
"materialName" : "materialName1"
"materialType" : "materialType1"
},
"xvalue": null,
"yvalue": null,
},
{
"metadata":
{
"materialName" : "materialName2"
"materialType" : "materialType2"
},
"xvalue": null,
"yvalue": null,
},
],
"someValue" : "someValue1"
"id" : "id1"
},
"reports":
[
{
"metadata":
{
"materialName" : "materialName3"
"materialType" : "materialType3"
},
"xvalue": null,
"yvalue": null,
},
{
"metadata":
{
"materialName" : "materialName4"
"materialType" : "materialType4"
},
"xvalue": null,
"yvalue": null,
},
],
"someValue" : "someValue1"
"id" : "id2"
]
]
我在JMeter的Json路径提取器中有以下Json表达式
$.data[0].materials[?(@.id)].reports[*].metadata['materialName','materialType']
对于json数组中的每个'id',上述表达式返回如下所示
materialName1, materialType1
materialName2, materialType2
materialName3, materialType3
materialName4, materialType4
但我希望提取“id”的值沿着“materialName”和“materialType”,如下所述
id1, materialName1, materialType1
id1, materialName2, materialType2
id2, materialName3, materialType3
id2, materialName4, materialType4
等等。
请帮帮我。
谢谢你,杰丁
2条答案
按热度按时间pjngdqdw1#
添加JSR 223采样器并直接记录:
变量可以在任何采样器注解部分中使用**${variable}**进行解析,以用于测试目的。
zbdgwd5y2#
JMeter提供了__logn()函数,允许将您想要的任何内容打印到jmeter.log文件
同样,如果JSON提取器返回〉1个匹配,JMeter将生成以下variables
因此,您可以将它们打印到jmeter.log文件,如下所示:
如果要改为打印到STDOUT-请将
log.info
替换为println
有关JMeter中的Groovy脚本的更多信息:Apache Groovy: What Is Groovy Used For?